emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DVCS workflow and bisect


From: Teemu Likonen
Subject: DVCS workflow and bisect
Date: Thu, 21 Jan 2010 18:33:46 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

May I voice an opinion about working with DVCS? I'm an Emacs user, not
developer, so feel free to ignore my comment. :-) Anyway, I just noticed
a problem in the DVCS history which makes diffs more difficult to read.

I'll visualize my point with "git log --graph --oneline":


    * d5836ff * lisp/dired-aux.el (dired-hide-all): [...]
    * a633481 * lisp/dired-aux.el (dired-hide-all): [...]
    *   f8314a5 Fix ccl encoding of unibyte source.
    |\
    | *   e81c42c from trunk
    | |\
    | |/
    |/|
    * | fff9e27 Remove file that only works with CVS, [...]
    * | 62b5494 (tab-always-indent): Fix custom-type.
    | *   21287dd Fix ccl encoding of unibyte source.
    | |\
    | |/
    |/|
    * | 36d899a Redate and reposition log entry.
    * | 02fcc7e Fix bug#5395: typing '#' in an empty C buffer [...]


(The left-most vertical line is the trunk. Asterisks [*] are commits.)

We can see that commit 21287dd [1] fixes some ccl encoding issues and at
the same time it merges stuff from the trunk. That results in a huge
diff from which is difficult to find the actual "ccl encoding" fix. See

    $ bzr diff -c revid:address@hidden

in the Bazaar repo. The "ccl encoding" fix can be found by explicitly
asking the other parent --

    $ bzr diff -r revid:address@hidden:address@hidden

-- but that's more difficult. Also, the version control history will be
difficult to bisect if that change introduced a bug.

My point is not to say that the author of the commit did any serious
damage or anything. I'm just suggesting that merging stuff and making
other changes should be separate commits.

---------------
 1. In Bazaar: revid:address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]