Package: dgit
Version: 5.6
Usertags: rsn

dgit clone does this:

        set -o pipefail
        git ls-tree -r --name-only -z HEAD | \
        xargs -0r touch -h -r . --

The explanation is this:

commit 4c09c958f20263601483e0150caf4787a064aa5e
Author: Ian Jackson <[email protected]>
Date:   Sun Oct 30 16:34:11 2016 +0000

    dgit clone: Set timestamps in cloned tree to a single unified time.
    
    This makes it less likely that the user will trip over any
    timestamp-dependent FTBFS bugs (eg #842452).
    
    Signed-off-by: Ian Jackson <[email protected]>

This functionality should be available standalone.

(My justification for including this functionality in dgit is that
this kind of bug is a thing that can occur more readily in Debian,
where many people are using source packages instead; in places where
there are just git branches, bugs like #842452 would probably show up
sooner.  Indeed #842450 is an example of timestamp anomalies being,
unhappily, tolerated in Debian in an otherwise fairly well-maintained
package.)

It is not clear to me exactly which files it should touch, but I'm
minded to implement: those which are in HEAD or the index, excluding
any which do not exist in the working tree.  (This requires a more
complicated rune than the one in dgit clone, since dgit clone can
assume that the tree is entirely clean when its rune runs.)

When this now command is impleented, there should be a note in the
manual that `dgit checkout' does not run it, but `dgit clone' does.

Ian.

-- 
Ian Jackson <[email protected]>   These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.

Reply via email to