[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Simulavr-devel] about my recent commit to GIT repo
From: |
Onno Kortmann |
Subject: |
Re: [Simulavr-devel] about my recent commit to GIT repo |
Date: |
Mon, 20 Dec 2010 22:15:32 -0800 |
User-agent: |
KMail/1.13.2 (Linux/2.6.32-26-generic; KDE/4.4.2; i686; ; ) |
Hi Petr,
> It seems my GIT client recently committed [1] John McCullough's patch
> [2] which adds support for CAN devices.
> It was an accident. By looking in the repository I do not even know
> the meaning of what I just did.
It doesn't look that bad, indeed it seems that you did it right (except for a
point which you can argue, see below). You didn't commit that patch, I did,
and you should have received a message about this a bit ago.
Basically, what happened is probably the following situation:
1. You updated your simulavr clone a bit ago, with a HEAD pointing to commit
122d192
2. You started working on this head (perfectly fine), committing your changes
which are in commit e92725a
3. I committed John McCullough's patch as f56acc77 one the same HEAD of
122d192.
4. I pushed that change to the repository so tha the savannah's HEAD pointed
to f56acc77.
5. This is now incompatible with the history of your repository and either a
merge or a rebase of your changes needed to happen. Incompatible means that
you were not able to push these changes back, as that would have lost my patch
as a push can only be a forward to another commit, with an intact history
leading to it, but basically your commit was not matching the existing history
anymore.
Now, mostly, people do a rebase of their own stuff onto the current upstream
HEAD instead of a merge for a set of upstream changes, if possible, to avoid
creating a more complex devel history. But a merge is perfectly fine. That's
the only point that can be argued. You witnessed the distributed version
control system in action :-)
6. The merge merged the upstream master into your repository (you probably did
a git pull, right?), and this happened in your local git repository
7. Because the merge is merging my latest commit and yours together, it is now
a valid successor to what it is in the upstream git (where the HEAD still
points to f56acc77). Thus, it can be pushed upstream. You did that and
everything is fine :-)
> I do understand the theory how git works (heck, I even read the
> algebraic theory of patches) but I not understand what operations my
> client offers to me and what those messages mean.
I hope the above clarifies it. If not, ask again.
>
> Do you recommend some user-friendly Git client for Windows?
I only know of TortoiseGIT and only used it a time ago as it was still
considered to be in heavy development, but the basic stuff should work? What is
the exact complaint?
Cheers,
Onno