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

Re: cvsimport still not working with cvsnt

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 14, 2011, 21:49 UTC
Message-ID
<7v8vynnokt.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20110114074449.GA11175@burratino>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 5 quoted lines
> and recommended erroring out if both files exist to make this easier
> to diagnose.
>
> Emil's advice: if this is an important use case to you, maybe it would
> be served better by looking at both files?
Thanks for summarizing two-year's worth of discussion ;-)

Trying both, one after another, in the order that likely favors newer one over the older one, is a very valid option but is appropriate only under a very narrow condition. Picking a wrong one must reliably, silently _and_ quickly fail, and fail without any side effect. The one in .cvspass may identify you as a different user from the user .cvs/cvspass identifies you as, and the two users may have different capabilities or default server side preferences--in such a case, both may succeed, but in a different and unexpected way [*1*].

As the general principle, in a "we see two, and we cannot tell which one the user wants to use" situation like this, I tend to prefer erroring out to _force_ the user to fix the configuration once and for all.

Unless the "try both" approach is reasonable, we could implement "we read from one and when we find one we stop, otherwise we read from the other" and document the order, but it is probably less friendly than the above two options.

[Footnote]

*1* I know .cvspass is a bad example for this, as it records the password for the <pserver you are trying to connect to, your user on the server> tuple. Once you get in, what you can do is exactly the same because you are authenticating as the same user, but think of a case like .ssh/config that is indexed by "Host" and allows you to use "User" to

Previous: Jonathan NiederNext: Guy Rouillier
Message 9 of 32 in “cvsimport still not working with cvsnt”
  1. Guy RouillierDec 20, 2010
  2. Jonathan NiederDec 20, 2010
  3. Emil MedveDec 21, 2010
  4. Guy RouillierDec 22, 2010
  5. Guy RouillierJan 10, 2011
  6. Martin LanghoffJan 10, 2011
  7. Guy RouillierJan 14, 2011
  8. Jonathan NiederJan 14, 2011
  9. Junio C HamanoJan 14, 2011
  10. Guy RouillierJan 30, 2011
  11. Martin LanghoffJan 30, 2011
  12. Junio C HamanoFeb 10, 2011
  13. Guy RouillierFeb 18, 2011
  14. Junio C HamanoFeb 18, 2011
  15. Guy RouillierFeb 19, 2011
  16. Junio C HamanoFeb 20, 2011
  17. Guy RouillierFeb 21, 2011
  18. Junio C HamanoFeb 21, 2011
  19. Junio C HamanoFeb 22, 2011
  20. Martin LanghoffFeb 22, 2011
  21. Guy RouillierFeb 23, 2011
  22. Junio C HamanoFeb 23, 2011
  23. Guy RouillierFeb 23, 2011
  24. Junio C HamanoFeb 23, 2011
  25. Guy RouillierFeb 27, 2011
  26. Junio C HamanoFeb 27, 2011
  27. Guy RouillierApr 29, 2011
  28. Jonathan NiederApr 29, 2011
  29. Guy RouillierMay 1, 2011
  30. Junio C HamanoMay 1, 2011
  31. Junio C HamanoFeb 23, 2011
  32. Guy RouillierFeb 24, 2011

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.