Posts Tagged Git

Project Consolidation

I have been consolidating all of my personal projects and prototypes trying to get everything setup on Git and GitHub. I have used SourceForge for years, but have lately found their project management model a bit on the heavy side. I have really taking a liking to Git for my personal projects, so GitHub was an easy choice. GitHub provides good Git integration with lightweight wiki and bug-tracking as well as some other handy features like code archive downloading.

I have most of my projects converted over, though most of them will be going through some refactoring soon (package names, testing, personal code reviews, etc) so that they are all brought up to at least some minimum level of quality. I will also need to update some of my archived blog posts so that they point to the correct project repositories.

In general, I don’t think anybody else really cares about most of this stuff, but there is some useful code in there among the fluff and flair. There are a number of prototype and proof-of-concept type projects in there that I am not sure even work any more… so, I have some work to do. :-)

My GitHub Dashboard is located at: http://github.com/cjstehno, just be warned, currently all of the code is in a state of flux.

Enjoy!

Popularity: 3% [?]

  • Share/Bookmark

Tags: ,

Git Over Your Legacy Environment

I struggled for a good title for this posting so I am sorry if it’s not very clear. The basic goal here is to show how Git can help you overcome a poor or obsolete development environment which you have no control over.

Let’s say you are stuck with a sub-par source control (that you cannot change) and an IDE that is tightly bound to the server and/or very out-of-date.

I have been looking for ways to maintain my code with the required source control system and run it on the integrated IDE, while doing the bulk of my development on a modern full-featured IDE. (No, I cannot just check out the code and work with it, trust me). I finally got close to what I need by using Git. Basically you create a git repository from the source control managed project and then clone it to another directory so you can pull changes back and forth as needed.

Go into your normal source control managed project and type

1
git init

to create a git repository. Then you will want to add and commit all your relevant files using

1
2
3
git add *

git commit -m "initial commit"

though your needs may vary. Once you have everything in git you can clone this repository into another directory
(non-existant)

1
git clone -l --no-hardlinks . ../path/newdir

On the original repository you can make modifications and changes then go into the new repository and run

1
git pull

to pull those changes into it. Once you make changes in the new location you can get (git) them into the original repository using

1
git pull ../path/newdir

Just make sure you are doing commits to get the changes into git otherwise nothing will be transferred.

I don’t really recommend this for this use if you can avoid it but it does show you how you can do a quick one-off workspace if needed… or as in my case, a modern working environment that does not interfere with the legacy systems.

Alas, even all of this does not help my in what I needed it for. Our source control at work is one of those micro-managing ones that considers itself the master of everything. The files are marked read-only, which is not a big deal but in order to get the scm to recognize the modification you need to check out the file, modify it, and check it back in which can only be done through the client interface (no command line). The only option would be to checkout the entire project, but it’s also one of those SCMs that makes a big fuss if anyone has your file checked out.

Oh well.

Popularity: 1% [?]

  • Share/Bookmark

Tags: ,

Switch to our mobile site