git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Ericsson <ae@op5.se>
To: Ulrich Windl <ulrich.windl@rz.uni-regensburg.de>
Cc: git@vger.kernel.org
Subject: Re: On git 1.6 (novice's opinion)
Date: Mon, 30 Mar 2009 11:06:19 +0200	[thread overview]
Message-ID: <49D08B8B.1000309@op5.se> (raw)
In-Reply-To: <49CC8C90.12268.242CEFCE@Ulrich.Windl.rkdvmks1.ngate.uni-regensburg.de>

Ulrich Windl wrote:
> 
> 1) The ability to use the file's time at the time of add/commit instead of the
> current time, and the ability tho check outfiles with the times stored in the
> repository.
> 

You can set the time manually for each commit. I suppose it's not quite the
same as doing it by taking the timestamp of a single file. Personally, I've
never quite understood the point of it, since I always have to do at least
*some* testing (even if it's only a compile-test) after I'm done editing so
I know what I'm committing isn't totally broken.

Can you describe a use-case where this would be handy?

> 2) Keyword substitution. I know it's controverse (dealing with binary files),
> but I'd like to have some automatic version numbering keyword at least:
> Initial idea is that every commit with a change increments the number by one,
> and when merging numbers a and b, the resulting number is max(a, b) + 1.
> 

This has been discussed to death, and it's much, much harier than just
handling binary files. Browse the list archives for the (many, lengthy and
sometimes heated) discussions on this topic. A quick recap of the outcome
of *ALL* such discussions is as follows, though:
1 It would potentially make git horribly slow at switching branches.
2 It's rarely interesting to version a single file, but always interesting
  to version the entire project (what do I care if README was v1,1 in CVS
  when what I *really* want to know is which version of the program I should
  file my bug-report against).
3 It's far better to set the version number in the release-process. Usually
  this can be done automatically by one invocation of "git describe", just
  as git.git does it.

We've adopted "3" full out at $dayjob. Our build-machinery gets the version
number from the git tag (releases can only be built from signed tags), and
it updates macros and whatnot used for informing the user which version he
or she is running. This makes a lot more sense both from a bug-reporting
and from a release process view than having generated version-numbers in
files. On a side-note; When I told my co-workers I'd like us to switch to
git, two of them asked about autoversioning features. I said there weren't
any and asked them to name a single time when we've actually used them for
anything *at all*. In a team of eight, having been programming for three
years with 12 releases and about 800 bugreports + feature-requests, noone
could mention a single time when the autogenerated version numbers had
actually been used for anything.

Otoh, having the entire repository locally makes it painless to view the
commit-log for an entire project (or parts of it) and see who changed what
when and why, which is information that's actually *useful*.

> 3) "git undo": If possible undo the effects of the last command.
> 

Immensely complex to create, and the command would almost certainly cause
more confusion than order before it can handle every single operation that
a user would want to undo. Instead, the most common operations that require
some form of user-interaction have an "--abort" switch which does roughly
what a "git undo" command would.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

  parent reply	other threads:[~2009-03-30  9:07 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-27  7:21 On git 1.6 (novice's opinion) Ulrich Windl
2009-03-27  8:05 ` H.Merijn Brand
2009-03-27  9:50   ` Ulrich Windl
2009-03-27 10:57     ` Etienne Vallette d'Osia
2009-03-27 11:30       ` Etienne Vallette d'Osia
2009-03-27 12:24     ` Dmitry Potapov
2009-03-27 13:39       ` Ulrich Windl
2009-03-27 13:45         ` Matthieu Moy
2009-03-27 13:47         ` Etienne Vallette d'Osia
2009-04-01  6:50           ` Ulrich Windl
2009-04-01  7:41             ` Matthieu Moy
2009-03-28  1:30         ` Junio C Hamano
2009-03-28  1:30       ` Junio C Hamano
2009-03-28  9:53         ` Dmitry Potapov
2009-03-30  6:18     ` Russ Dill
2009-04-01  7:53       ` Ulrich Windl
2009-04-01  8:37         ` Andreas Ericsson
2009-04-01  9:47           ` Ulrich Windl
2009-04-01 10:17             ` Andreas Ericsson
2009-04-01 20:37             ` Heiko Voigt
2009-03-27 12:24 ` Dmitry Potapov
2009-03-27 13:35   ` Ulrich Windl
2009-03-27 13:44     ` Matthieu Moy
2009-04-01  6:45       ` Ulrich Windl
2009-04-01  7:42         ` Matthieu Moy
2009-03-27 12:49 ` Michael J Gruber
2009-03-27 13:48   ` Ulrich Windl
2009-03-27 14:09     ` Jakub Narebski
2009-04-01  6:59       ` Ulrich Windl
2009-04-01  7:29         ` Andreas Ericsson
2009-04-01  7:54         ` Matthieu Moy
2009-04-01  9:38           ` Ulrich Windl
2009-04-01 10:10             ` Andreas Ericsson
2009-04-02  2:17         ` Jakub Narebski
2009-03-28 10:33     ` demerphq
2009-03-28  1:30 ` Junio C Hamano
2009-04-01  7:35   ` Ulrich Windl
2009-03-29  5:41 ` Bryan Donlan
2009-03-29  9:50   ` Johannes Schindelin
2009-04-01  7:42     ` Ulrich Windl
2009-04-01  7:40   ` Ulrich Windl
2009-03-30  9:06 ` Andreas Ericsson [this message]
2009-04-01  8:15   ` Ulrich Windl
2009-04-01  8:41     ` Andreas Ericsson
2009-04-01  9:55       ` Ulrich Windl
2009-04-01 10:21         ` Andreas Ericsson
2009-04-01 11:52           ` Ulrich Windl
2009-04-01 12:40             ` Andreas Ericsson
2009-04-01  2:32 ` Kris Shannon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49D08B8B.1000309@op5.se \
    --to=ae@op5.se \
    --cc=git@vger.kernel.org \
    --cc=ulrich.windl@rz.uni-regensburg.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).