git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Parkins <andyparkins@gmail.com>
To: git@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Junio C Hamano <junkio@cox.net>
Subject: Re: [PATCH 2/2] Add keyword unexpansion support to convert.c
Date: Tue, 17 Apr 2007 20:12:27 +0100	[thread overview]
Message-ID: <200704172012.31280.andyparkins@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0704171107510.5473@woody.linux-foundation.org>

On Tuesday 2007, April 17, Linus Torvalds wrote:

> So you will never work with anybody outside of git?

For my projects - correct; I don't care about the rest of the world.  
For projects that do - don't enable keywords, it's an option, all I 
want is to have that option.

> What about tar-files when you export the tree? Should they have the
> expanded version?

If I have to pick one then: no.  I think out-of-tree keywords are too 
much trouble for exactly the reasons you say; however, I wouldn't like 
to presume what other people think is too much trouble so I suppose it 
would have to be an option.

> > You keep saying these sweepingly general things.  It can be made to
> > work.
>
> No, it CANNOT.
>
> Trust me. There's NO WAY IN HELL it will "work" in any other sense
> than "limp along and not be usable".

Well I'm making progress, "limp along" is a significant step up from 
impossible.  :-)

Look, my primary objection to this is the SHOUTING about how impossible 
it is even though I've tried to address every problem you've thrown at 
me - I'm finding it really difficult to figure out why you're trying so 
hard to dissuade me from even _trying_.  If it all goes wrong (as I 
fully accept it might), so be it, I can live with that; I'll even be 
happy to tell you you're right and I'm wrong.  Why is this such a 
problem?

Keywords are so hated by everyone that I doubt they would ever be 
accepted into git - it's an intellectual exercise for me at this stage 
really. 

> Yes, you can make it "work" if you:
>
>  - make sure that you never _ever_ leave the git environment

As it happens, _I_ never ever leave the git environment.  Can I use 
keywords then?

You don't seem to have such a problem with git's extended diffs for 
renames or subprojects - "make sure that you never _ever_ leave the git 
environment".

>    But why do you want keyword expansion then? The whole point is if
> you have other tools than the git tools that look at a file. Even
> your svg example was literally about having non-git tools work with
> the data. What if you ever email the file to somebody else?

If by "tools" you mean other version control systems, then I don't 
intend them to work.  If by "tools" you mean gcc, inkscape, gv, bash, 
web browsers or any other fileformat that allows comments in the file 
then I expect it to be fine.  If I publish a web page, it'd be nice to 
show the ID on the page - that's all just "nice" not "necessary" 
or "I'm throwing git away if I don't get it".

Emailing to others isn't a problem either: let's say I email them my SVG 
(with keywords expanded), they make some edits and send it me back - 
worse, they send me a diff back.  I'm going to apply that diff using 
git-apply; which will collapse the keywords and apply the diff.

>  - you make all git tools explicitly always strip them.

Well, not "all", so far I've added one call to convert_to_git() in 
builtin-apply.c - it was a one line addition.  It needed doing anyway 
to deal with the CRLF correctly.  I can't see there being that many 
places that this needs doing.  I may well be wrong, if I end up 
scattering calls to convert_to_git() everywhere I'll give up.

>    Again, what's the point again? You add keyword expansion, and then
> the only tools that you really allow to touch it (except your "print
> it out" example) will have to remove the keyword expansion just to
> work.

(I don't see why my tiny "print it out" example isn't enough - it 
matters to me)

However, most tools don't care about the keywords, it's only non-git 
diff and non-git patch that are affected.  As long as the file format 
supports comments, then keyword expansion will be just fine.

> That's not "work". That's just stupid. Yes, you can make your "print
> it out" example work, but as alreadyt mentioned, you could have done
> that some other way, with a simple makefile rule, quite independently
> (and much better) than the SCM ever did.

That's just being obtuse - no other tool cares in the slightest about 
the keywords, there are more "tools" in the world than just the VCS.



Andy

-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com

  reply	other threads:[~2007-04-17 19:12 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-17  9:41 [PATCH 2/2] Add keyword unexpansion support to convert.c Andy Parkins
     [not found] ` <200704171803.58940.an dyparkins@gmail.com>
2007-04-17 10:09 ` Junio C Hamano
2007-04-17 11:35   ` Andy Parkins
2007-04-17 15:53     ` Linus Torvalds
2007-04-17 17:03       ` Andy Parkins
2007-04-17 18:12         ` Linus Torvalds
2007-04-17 19:12           ` Andy Parkins [this message]
     [not found]             ` <alpine.LFD. 0.98.0704171530220.4504@xanadu.home>
2007-04-17 19:41             ` Nicolas Pitre
2007-04-17 19:45               ` David Lang
     [not found]                 ` <alpin e.LFD.0.98.0704171624190.4504@xanadu.home>
2007-04-17 20:29                 ` Nicolas Pitre
2007-04-17 20:05                   ` David Lang
2007-04-17 21:16                     ` Nicolas Pitre
     [not found]                       ` <7vy7k qlj5r.fsf@assigned-by-dhcp.cox.net>
2007-04-17 20:53                       ` David Lang
2007-04-17 21:52                         ` Andy Parkins
2007-04-17 22:40                       ` Junio C Hamano
2007-04-18  2:39                         ` Nicolas Pitre
2007-04-18  5:04                           ` Junio C Hamano
2007-04-18 14:56                             ` Nicolas Pitre
2007-04-18 11:14                           ` Johannes Schindelin
2007-04-18 15:10                             ` Nicolas Pitre
2007-04-19  8:19                               ` Johannes Schindelin
2007-04-21  0:42                         ` David Lang
2007-04-21  1:54                           ` Junio C Hamano
2007-04-21  2:06                             ` Nicolas Pitre
2007-04-21 23:31                             ` David Lang
2007-04-18  6:24                       ` Rogan Dawes
2007-04-18 15:02                         ` Linus Torvalds
2007-04-18 15:34                           ` Nicolas Pitre
2007-04-18 15:38                           ` Rogan Dawes
2007-04-18 15:59                             ` Nicolas Pitre
2007-04-18 16:09                               ` Rogan Dawes
2007-04-18 17:58                               ` Alon Ziv
2007-04-17 19:54             ` Linus Torvalds
2007-04-17 20:46               ` Andy Parkins
2007-04-17 20:52                 ` [PATCH] Add keyword collapse " Andy Parkins
2007-04-17 21:10                 ` [PATCH 2/2] Add keyword unexpansion " Linus Torvalds
2007-04-17 21:13                   ` Linus Torvalds
2007-04-18 11:11                     ` Johannes Schindelin
2007-04-20 11:32                 ` Nikolai Weibull
2007-04-17 21:18             ` Martin Langhoff
2007-04-17 21:24     ` Junio C Hamano
2007-04-20  0:30     ` Jakub Narebski
2007-04-21  0:47       ` David Lang
2007-04-17 15:46   ` Linus Torvalds
2007-04-17 10:41 ` Johannes Sixt
2007-04-17 15:32 ` Linus Torvalds
2007-04-17 17:10   ` Andy Parkins
2007-04-17 17:18   ` Rogan Dawes
2007-04-17 18:23     ` Linus Torvalds
2007-04-17 20:27       ` Rogan Dawes
2007-04-17 23:56       ` Robin H. Johnson
2007-04-18  0:02         ` Junio C Hamano
2007-04-18  0:26           ` J. Bruce Fields
2007-04-18  1:19             ` Linus Torvalds
2007-04-18  1:28               ` Junio C Hamano
2007-04-18  1:33                 ` Linus Torvalds
2007-04-18  1:06           ` Robin H. Johnson
2007-04-18  1:15             ` Junio C Hamano
2007-04-18  1:42               ` Junio C Hamano
2007-04-18  2:53                 ` Robin H. Johnson
2007-04-18  4:15           ` Daniel Barkalow
2007-04-18 11:32           ` Johannes Schindelin
2007-04-18  2:50         ` Martin Langhoff
2007-04-18 10:06         ` David Kågedal
2007-04-18 11:08           ` Robin H. Johnson
2007-04-17 21:00 ` Matthieu Moy

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=200704172012.31280.andyparkins@gmail.com \
    --to=andyparkins@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    --cc=torvalds@linux-foundation.org \
    /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).