Re: Weird shallow-tree conversion state, and branches of shallow trees

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

 




On Sun, 15 Apr 2007, Andy Parkins wrote:
> 
> You're right that it can cause problems, but it is certainly not the 
> case that there are no valid uses for it.

I'm sorry, but you're just wrong.

There are no valid uses for it in the working tree. Full stop.

There are valid uses to tag sources with some revision information WHEN IT 
LEAVES THE REVISION CONTROLLED ENVIRONMENT, but not one second before 
that.

> I keep diagrams for a project in SVG format in the repository, this 
> works very well because SVG is so nicely ASCII.  In the title block of 
> the diagram I put "$Id$", then in subversion, after checking in and 
> updating it got expanded to
> 
>  $Id: diagram.svg 148 2002-07-28 21:30:43Z andyp $
> 
> Now, I print out that diagram and pin it to my wall - sometimes copies 
> of it are given to others.  I do this on a regular basis.

And is there *any* reason why you don't just do that as an "export" 
option, when it's very clear that people won't send diffs that include it 
and that will cause all the endless problems that keyword expansion 
causes?

Why would you ever have the pain and suffering of using it within the 
source control issue? Especially since you would be a *lot* better off 
using just an export script that can do a lot better than CVS/SVN keyword 
expansion could ever do (ie you can add all sorts of more relevant 
information than just a date and user name!)

> Please explain to me why that is not a valid use.

It's not a valid use because there are many SO MUCH BETTER WAYS to get the 
same thing, that have none of the downsides of keyword expansion?

Your argument is akin to saying that "Why isn't it a valid use to replace 
the steering wheel in my car with a mouth-operated joystick under the 
passenger side seat?"

Sure, you *can* steer a car by mouthing at it while having your head under 
the passenger side seat, and your butt sticking out through the moonroof 
("We could add a periscope so that I can see where I'm going!")

But that's not an argument *for* doing it, when there are ways that are 
obviously much better, and don't _need_ the periscope!

See?

The fact that you *can* do something is not a valid argument for it being 
a valid use. You *can* do stupid things, but if you can get to the same 
end result by not doing stupid things, wouldn't you prefer that instead?

Here's a small makefile snippet for you:


	%.prt: %.svg
		sed 's/\$$Id\$$/\$$ $(shell git log --pretty=format:"%h: %s (%an)" --abbrev-commit -1 file.svg) \$$/g' < $< > $@

which would need some work (it doesn't quote things right - in reality 
you'd write a simple script to do this properly).

See? No need for a periscope, and your butt can be toasty warm too if you 
just add a seat heater option...

		Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]