Wireshark-dev: Re: [Wireshark-dev] How about moving from svn to git?

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Sun, 8 Nov 2009 15:31:38 -0800

On Nov 7, 2009, at 3:08 AM, Joerg Mayer wrote:

this is just something that went through my mind yesterday while working
on the third patch on the same files and without a chance to commit
between the patches. If there is one thing that I don't like (although
I do it sometimes) is to do a commit that does several things at once.
With git, I could commit each patch (which is done locally) and eventually push all commits to the central repository while maintaing the indivitual
character of the commits.

The way I work is that I have multiple "working trees" for various projects, with modified versions of various source files.

For Wireshark, I do "svn update" on occasion, resolve the conflicts myself, and check the code in when it's "done".

For libpcap and tcpdump, which now use Git, that's not so easy, as I don't check in my work until it's "done", and then push it. "git pull" gets upset when I've modified files; it doesn't work the way "cvs update" and "svn update" work.

I presume "git stash" is one of the tools to be used in this case, with a "git stash save" before "git pull" and a "git stash pop" after. When I tried that, it appeared to do a local commit of the work done so far; if I then do more work and another "git commit", will both of those commits get pushed individually, or do they get pushed as one single commit to the remote repository? I'd prefer the latter, as there's no point in exposing individual checkpoints for work I've done in the history on the remote repository.

(Currently, I work around it by diffing my tree, backing out my changes, doing a "git pull", and then reapplying my changes. That's the Git tool I *really* want, but I don't have time to become a porcelain craftsman....)