[darcs-devel] [issue213] pull on locally created repos causes a bug

Matthias Fischmann bugs at darcs.net
Mon Jul 3 13:53:06 PDT 2006


New submission from Matthias Fischmann <fis at wiwi.hu-berlin.de>:

Hi,

as darcs asked me politely to report this, here you go.  I just

  - created a local repository,
  - added a few files and recorded the patch,
  - compiled a few of these files and did a 'whatsnew',
  - patched the boring file to exclude latex temp files from the
    output (and called 'setpref boringfile' a few times on the way and
    still haven't got it eat the regexps I was giving it, if you want
    to help me there i'd be very greatful).
  - and called a 'darcs pull', just to see what happens.

here is the output of the last action:

$ darcs pull
darcs: bug in darcs!
Impossible case at Pull.lhs:194 compiled 12:00:18 Feb 17 2006
Please report this to bugs at darcs.net,
If possible include the output of 'darcs --exact-version'.

i guess this is one of those 'nobody would do such a stupid thing'
things, but an error message like 'you cannot pull because you just
created this repo on this spot' would be less 'buggy' still.

see attachment for exact version.

thanks, regards,
m.

----------
files: darcs-exact-version
messages: 750
nosy: droundy, fis, tommy
status: unread
title: pull on locally created repos causes a bug

____________________________________
Darcs issue tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue213>
____________________________________
-------------- next part --------------
darcs compiled on Feb 17 2006, at 12:04:26
# configured Fri Feb 17 11:44:30 CET 2006
./configure 

Context:

[Update dateparser test with CVS style dates.
Eric Kow <eric.kow at gmail.com>**20060120233434] 

[Add time zone support for CVS date parsing. (issue104)
Eric Kow <eric.kow at gmail.com>**20060120233327
 
] 

[remove TODO from three passing tests in pull.pl
Tommy Pettersson <ptp at lysator.liu.se>**20060211183857] 

[new TODO test for better message on directory conflict when pulling
Mark Stosberg <mark at summersault.com>**20051124003621] 

[test suite: fix some glitches in directory creation/removal
Tommy Pettersson <ptp at lysator.liu.se>**20060130012803] 

[Detect dates which overflow.  Throw a more helpful error message.
Eric Kow <eric.kow at gmail.com>**20060211194521
 
 An example of a date which overflows is "105 years ago" on my system.
   
 For reference: The "problem" is not so much Haskell's System.Time, but
 in the underlying C library.  System.Time uses Integer to represent
 ClockTime, so theoretically this number can be as big as we want.
 However, the function addToClockTime makes a call to 'mktime' (time.h)
 to get a value for the number of seconds elapsed since 1970.  And this
 value is of a fixed-size type (time_h).  If the number of seconds
 overflows, mktime returns -1 to indicate an error.  This is detected by
 System.Time and propagated up as a user error "Time.toClockTime: invalid
 input".
 
] 

[Correct dateparser test's self-cleanup.
Eric Kow <eric.kow at gmail.com>**20060129210701
 
 The dateparser test was not properly removing its own tmp directory,
 causing it to be a pain when using the tests/tests_to_run mechanism.
 
] 

[Remove '4 score, 7 years ago' from dateparser test.
Eric Kow <eric.kow at gmail.com>**20060129210635] 

[dateparser.sh only tries to delete tmp if it exists
Jason Dagit <dagit at codersbase.com>**20060114021327] 

[All perl tests use cleanup at beginning instead of rm_rf
Jason Dagit <dagit at codersbase.com>**20060114021114
 rm_rf will give an error (causing test to fail) when the directory is
 missing.  Use cleanup instead as it will not give an error.
] 

[Added author to darcs record commandline in dateparser.sh
Jason Dagit <dagit at codersbase.com>**20060114021017] 

[Corrections to bugfix for (RT #466)
Eric Kow <eric.kow at gmail.com>**20060108225411
 
 The bug fix for case insensitive filesystems was incorrect because
  1. canonicalizePath does not canonicalise the same filename with
     different cases into the same entry
  2. RT #466 affects case sensitive and case insensitive file 
     systems alike (i.e. the bug description was wrong)
  3. canonicalizePath is not available in ghc 6.2.2
 
 This correction also has the advantage of being much simpler and closer
 to what David Roundy suggested on the bug tracker.  We remove the old
 file from the slurpy so that it doesn't get mistaken for the new file.  
 
] 

[only create log file when a long comment was requested
Zachary P. Landau <kapheine at divineinvasion.net>**20060108181034] 

[Extended date matching functionality. 
Eric Kow <eric.kow at gmail.com>**20051228210942
 (issue31 and RT #34)
 
 Now accepts ISO 8601 intervals (mostly) as well as a larger subset of
 English (including times like "yesterday at noon").
 
 Note: also includes corrections to ISO 8601 date/time parsing, using
 a more elegant technique of building dates up. 
 
] 

[Partial implementation of iso 8601 dates
Eric Kow <eric.kow at gmail.com>**20051228123040
 (issue31) - first step 
 
 reluctant to implement (ambiguous!): 
   * years > 9999  
   * truncated representations with implied century (89 for 1989) 
 unimplemented: 
   * time intervals -- this might be good to have in darcs
   * negative dates (BC)                    
 
] 

[Allow rename to different case (RT #466, case-insensitive file systems)
Eric Kow <eric.kow at gmail.com>**20060106000141
 
 Creates an exception in the check that the new name does not already exists;
 it's ok if both names reduce to the same canonical path
 
] 

[save long comment file if a test fails during record
Zachary P. Landau <kapheine at divineinvasion.net>**20051216023948] 

[Fixed minor typo in home page.
Marnix Klooster <marnix.klooster at gmail.com>**20060113054649] 

[use exact matching in some changelog entries
Tommy Pettersson <ptp at lysator.liu.se>**20060129124023] 

[add some changelog entries
Tommy Pettersson <ptp at lysator.liu.se>**20060129123955] 

[fix pathname in comment in darcs.cgi.in
zooko at zooko.com**20060112151135] 

[fix win32 build breaks
Will <will at glozer.net>**20060112054853] 

[fix content-type in rss output of cgi
Will <will at glozer.net>**20060110052938] 

[Don't say "yes" in an infinite loop.
Bill Trost <trost at cloud.rain.com>**20060108162605
 I ended up with this test hanging forever because the while loop wasn't getting
 a SIGPIPE because of the way my editor environment (no controlling tty?) was
 set up. We have a pretty good idea of how many "y"s are needed anyhow.
] 

[fix crash caused by tests failing on amend-record
Zachary P. Landau <kapheine at divineinvasion.net>**20060108174722] 

[More canonization
Eric Kow <eric.kow at gmail.com>**20060108235935
 
 canonized : Mark Stosberg, Erik Schnetter, Joeri van Ruth 
 identified: Richard Smith, Victor Hugo Borja Rodriguez
 
] 

[Make the "record --pipe" docs match the program behavior.
Bill Trost <trost at cloud.rain.com>**20060107050910] 

[Make --exact-version also work if darcs is built from "make dist" tar ball
Marnix Klooster <marnix.klooster at gmail.com>**20060106205857
 
 This is to prevent "darcs --exact-version" outputting something like
 
   darcs compiled on Mar  2 2005, at 10:56:16
   unknown
 
 as it does when building from the output of "make dist", e.g., from the
 official tarballs at darcs.net.  (This is what a lot of people and distros do.
 Gentoo does this, and I'm using Gentoo, and I want to be able to do "darcs
 --exact-version" and have it output something sensible.)
 
 The reason that this problem occurs is that while doing 'make predist' (in the
 'predist' preference), Context.hs was nicely preserved by predist_copy, but
 then thrown away by distclean which calls clean.  So the resulting tarball has
 no Context.hs, which results in the "unknown" exact version.
 
 The solution consists of the following:
 
  * Only remove Context.hs in "clean" if it can be rebuilt using its rule
    in automake.mk (i.e., if _darcs/inventory exists, so if we are in a
    repository).
 
  * Target realclean is renamed to the newer maintainer-clean and extended a
    little, according to the GNU make manual (not strictly necessary).
 
 As a result of this, we now follow GNU makefile conventions more closely.  See
 the rules in the "Standard Targets for Users" section of the GNU make manual
 (currently at http://www.gnu.org/software/make/manual/html_node/make_127.html),
 and an interpretation of these rules in the "What Gets Cleaned" section of the
 GNU automake manual (currently at
 http://www.gnu.org/software/automake/manual/html_node/Clean.html).
 
 Thanks to Taral <taralx at gmail.com> for the above info.
] 

[Coalesce setpref (issue70 and RT #349)
Eric Kow <eric.kow at gmail.com>**20051230230842] 

[Use temporary file when editing send description.
Zachary P. Landau <kapheine at divineinvasion.net>**20051217212051] 

[bug fixes for darcs help
Eric Kow <eric.kow at gmail.com>**20051230011003] 

[Support --interactive option in changes command (issue #59).
Zachary P. Landau <kapheine at divineinvasion.net>**20051221052049] 

[Implementation of help command
Eric Kow <eric.kow at loria.fr>**20051218172558
 (RT #307)
 
 Provides a command to display usage information on the screen.
  darcs help           = darcs --help
  darcs help --verbose = darcs --extended-help
  darcs help command   = darcs command --help
 
 This implementation understands abbreviated commands and subcommands.
 Slightly refactors darcs.lhs.
 
] 

[add a --without-docs option to configure
smithbone at gmail.com**20051228215710] 

[resolve conflict
Tommy Pettersson <ptp at lysator.liu.se>**20060108173148] 

[Obey normal autoconf conventions.
Dave Love <fx at gnu.org>**20051117190231
 Allows you to `make install prefix=...', for instance, and doesn't change
 default for sysconfdir.
] 

[Move patchSetToPatches to Repository.lhs
Zachary P. Landau <kapheine at divineinvasion.net>**20051219043719] 

[reorganize comments (and add a comment) in Depends.lhs.
David Roundy <droundy at darcs.net>**20051218122029] 

[fix bug in doesDirectoryReallyExist.
David Roundy <droundy at darcs.net>**20051020121710
 We were failing with an exception if there was no such object.  The error
 message was:
 
 Fail: getSymbolicLinkStatus: does not exist
] 

[correction for send.sh test
Eric Kow <eric.kow at loria.fr>**20051218095652
 previously failed on (at least) MacOS X 10.3.9
 
] 

[RemoteApply no longer depends on cd, use --repodir instead.
vborja at thehatcher.com**20051110140430
 
 This is a minor change to make darcs no longer use cd
 before applying patches to a remote repository. 
 Now the --repodir option for the apply command is used.
 
 This patch came from a hack to rssh[http://sf.net/projects/rssh]
 to allow using darcs as a restricted command without depending
 on the cd binary.
 http://sf.net/tracker/index.php?func=detail&aid=1351939&group_id=65349&atid=510643
] 

[Support signed push
Esa Ilari Vuokko <ei at vuokko.info>**20051129082159] 

[Fix typo in multirepo pull.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051217201918] 

[Fix merge conflicts.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051217201903] 

[add changelog entry for multirepo pull.
David Roundy <droundy at darcs.net>**20051215122808] 

[add support for pulling from multiple repositories simultaneously.
David Roundy <droundy at darcs.net>**20050919125012] 

[Set attachment filename when sending a patch bundle by e-mail.
Zachary P. Landau <kapheine at divineinvasion.net>**20051217195009] 

[modernize amend-record.pl to be more portable.
Mark Stosberg <mark at summersault.com>**20050402133417
 
 This depends on the new "echo_to_darcs()" function in Test::Darcs
] 

[Fix merge conflicts.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051214223217] 

[Add --subject flag to 'darcs send'
Joeri van Ruth <jvr at blub.net>**20051205120301] 

[revert maybe_relink and atomic_create to original C code.
David Roundy <droundy at darcs.net>**20051208131213] 

[resolve conflicts between stable and unstable.
David Roundy <droundy at darcs.net>**20051206134818] 

[Merge changes
Ian Lynagh <igloo at earth.li>**20051008225210] 

[fix mkstemp implementation for win32
Peter Strand <peter at zarquon.se>**20050810211303] 

[Implement parts of System.Posix.(IO|Files) for win32
peter at zarquon.se**20050809200433] 

[implement RawMode with library functions instead of ffi
peter at zarquon.se**20050809200148] 

[call hsc2hs without output filename argument
peter at zarquon.se**20050808220444] 

[Rename compat.c to c_compat.c to avoid object filename conflict with Compat.hs
peter at zarquon.se**20050731114011] 

[Move atomic_create/sloppy_atomic_create to Compat
Ian Lynagh <igloo at earth.li>**20050730141703] 

[Split the raw mode stuff out into its own .hsc file. Windows needs some TLC
Ian Lynagh <igloo at earth.li>**20050730134030] 

[Move maybe_relink out of compat.c
Ian Lynagh <igloo at earth.li>**20050730131205] 

[Remove is_symlink
Ian Lynagh <igloo at earth.li>**20050730122255] 

[Move mkstemp to Compat.hs
Ian Lynagh <igloo at earth.li>**20050730020918] 

[Start Compat.hs, and move stdout_is_a_pipe from compat.c
Ian Lynagh <igloo at earth.li>**20050730004829] 

[only print 'making executable' in verbose mode
Eric Kow <eric.kow at gmail.com>**20051226182817] 

[Fix type incompatibility between C code and Haskell foreign declaration.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20060106154108] 

[fix type of foreign calls in FastPackedString.
David Roundy <droundy at darcs.net>**20050920125800] 

[implementation of --set-scripts-executable on local darcs get
kow at loria.fr**20051210215122
 proposed fix for issue38
 
 The --set-scripts-executable flag is normally evaluated when you apply
 patches.  But when you do a local darcs get, no patches are applied.
 So as a solution, we traverse the directory on local darcs get , and set
 any script files to be executable. 
 
 Note: one flaw in this patch is that it duplicates the definition of
 what a script is -- a file that starts with #! -- in PatchApply.lhs and
 Get.lhs.  It might be good to refactor these somehow.
 
] 

[extended set-scripts-executable test
kow at loria.fr**20051210200615
 added check for local darcs get (issue 38) as well as initial sanity check
  
] 

[add link to darcs-unstable repo on darcs home page
Tommy Pettersson <ptp at lysator.liu.se>**20060107212721] 

[Update "darcs init" documentation to match its behavior.
Bill Trost <trost at cloud.rain.com>**20060105040737] 

[Invert 'file exists already' error message in mv
Eric Kow <eric.kow at gmail.com>**20051230220431
 
 mv used the wrong error message for --case-ok and opposite 
 
] 

[Canonize myself and almost all other contributers.
Eric Kow <eric.kow at gmail.com>**20051229140428
 Add function to append name to email address 
 
 Merged: Marnix Klooster, Eric Kow, Andres Loeh, Esa Ilari Vuokko 
 
 Looked up name on Google for most orphaned email addresses.
 Hope nobody actually objects to this.
 
] 

[fix for Issue14 remove darcs-createrepo
Jason Dagit <dagit at codersbase.com>**20051224002230] 

[Do not document "darcs query manifest" twice.
Erik Schnetter <schnetter at cct.lsu.edu>**20051222125103] 

[Rename git.c to gitlib.c
Erik Schnetter <schnetter at cct.lsu.edu>**20051222115318
 
 On case-insensitive file systems, the source files Git.lhs and git.c
 lead to the same object file git.o.  Renaming git.c to gitlib.c solves
 this problem.
] 

[Remove periods from the AC_MSG_CHECKING call for the release state.
Matt Kraai <kraai at ftbfs.org>**20051220174536] 

[rename RepoTypes to PatchSet.
David Roundy <droundy at darcs.net>**20050917133920] 

[remove PatchSequence, which has long been obsolete.
David Roundy <droundy at darcs.net>**20050917133313
 The patch removes remaining vestiges of PatchSequence, which was obsoleted
 long ago by PatchSet (which stores patches in the opposite order (better
 for lazy use) and which has additional information about tags that allows
 us to avoid looking at old history.
] 

[Clarify wording for changes that can't be unreverted
me at JonathonMah.com**20051216151120] 

[properly quote paths so that paths with spaces in them are okay
zooko at zooko.com**20051121195057] 

[fix up debug printouts in cygwin-wrapper.bash
zooko at zooko.com**20051115011712] 

[smoother invocation of cygwin-wrapper.bash -- it detects fully-qualified path to itself by leading /
zooko at zooko.com**20051115011702] 

[print out the patch name when a test fails.
Zachary P. Landau <kapheine at divineinvasion.net>**20051205055109] 

[Use POSIX-style option for 'head', instead of obsolescent syntax
Marnix Klooster <marnix.klooster at gmail.com>**20051216111731] 

[Fix mistyped /dev/null, fixes --sendmail-command in Windows
Esa Ilari Vuokko <ei at vuokko.info>**20051129160120] 

[Use \ as path separator for GnuPG in Windows -- makes apply --verify work
Esa Ilari Vuokko <ei at vuokko.info>**20051129164533] 

[make dangers and recommended use of "Amend" clearer in the docs.
Mark Stosberg <mark at summersault.com>**20051213140523
 
 I think it's important to be clearer about when it's appropriate to use 'amend',
 so I moved some notes into the short and mid-length help texts.
] 

[update web page to reflect 1.0.5 as latest stable source.
Tommy Pettersson <ptp at lysator.liu.se>**20051213111137] 

[fix handling of absolute paths containing drive letters
Will <will at glozer.net>**20051208054737
 This fixes issue 47 where paths containing drive letters (i.e. on windows)
 are not treated as absolute paths.
] 

[bump version to 1.0.6pre1
Tommy Pettersson <ptp at lysator.liu.se>**20051208092839] 

[TAG 1.0.5
Tommy Pettersson <ptp at lysator.liu.se>**20051207112730] 



More information about the darcs-devel mailing list