git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git-cvsimport: strip question-mark characters in tags

From
Ed Santiago <santiago@redhat.com>
Date
Apr 14, 2010, 15:44 UTC
Message-ID
<20100414154409.GA28268@f.santiago.vpn.redhat.com>
In-Reply-To
<7vfx2yqf9s.fsf@alter.siamese.dyndns.org>
On Wed, Apr 14, 2010 at 07:29:03AM -0700, Junio C Hamano wrote:
> 
> I agree that people may want to optionally replace them to avoid mapping
> two originally different tags into the same one.

I considered that but decided that it was beyond the scope of what I wanted to tackle. My intent was to suggest an incremental fix, not a revolutionary one. I also wished to remove a misleading diagnostic[1] and provide a way for others to do the same as needed.

 [1] The error I saw was "Cannot create tag mumblefoo{?dist}: Illegal seek",
     where "Illegal seek" is due to an uninitialized/invalid $!

A proper solution would, I believe, be uncomfortably complex. Some of the approaches I considered are:

  * command-line option '--tag-replace <from-char>=<to>', eg '?=-'
  * replacing a (hardcoded) list of chars with %xx hex codes
  * option a la -A, with a file listing <oldtag>=<newtag>
  * like above, but the file lists perl expressions such as s/\?/./g

I used git-cvsimport because I've used tailor[2] before and dreaded the thought of running it again. I love how easy git-cvsimport was to use! I see it as a great tool for quick jobs, for proof-of-concept situations: it has a low cost of entry, works well with a remote CVS repo, and was easy to debug. But if it were to become as configurable -- and as complex -- as tailor, I think it might lose much of its value.

 [2] http://wiki.darcs.net/RelatedSoftware/Tailor
> Does your regexp chain check other invalid refname sequences, such as ".name",
> "na..me", etc.?

Eek, no. Again, this was a purely incremental fix, an addition to an existing (simple) check. Duplicating the functionality of git-check-ref-format would be a terrible idea. But if there's already a perlified library for this, or a portable hook into git itself (I haven't looked), it might be wise to have git-cvsimport use that to check/convert tags. At the very least it would give a much better error to the end user.

> Sign-off?
My apologies.  I'm new to this.

How would you like me to proceed? I'm reluctant to code a full general solution to the tag-validity problem, but am happy to rework my changes into something better.

Thanks for your feedback, Ed

-- 
Ed Santiago             Software Engineer             santiago@redhat.com
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 7 in “git-cvsimport: strip question-mark characters in tags”
  1. git-cvsimport: strip question-mark characters in tagsEd Santiago, Apr 14, 2010
  2. Junio C HamanoApr 14, 2010
  3. Ed SantiagoApr 14, 2010
  4. Junio C HamanoApr 14, 2010
  5. Andreas SchwabApr 14, 2010
  6. Ed SantiagoApr 14, 2010
  7. Johan HerlandApr 15, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.