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
next prev parent 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).