Error converting cabal repo #4

Closed
purcell opened this Issue Jan 31, 2011 · 4 comments

Comments

Projects
None yet
2 participants
Owner

purcell commented Jan 31, 2011

Submitted via email by pheaver:

I got an error when converting a repo. Unfortunately, it's a large repo and takes a while before you encounter the error.

Here's the repo url: http://darcs.haskell.org/cabal/

And here's the end of the output where the error occurs:

================================================================================
PATCH : Fix spelling of compatibility
DATE  : 2008-08-18 12:49:51 -0700
AUTHOR: Duncan Coutts <duncan@haskell.org> => Duncan Coutts <duncan@haskell.org>
================================================================================
Running: ["darcs", "pull", "--all", "--quiet", "--match", "hash 20080818194951-adfee-a662bcff08df2adfb183424dece4674234853966.gz", "--set-scripts-executable", "../darcs"]
Note: if you want to change the default remote repository to
/Users/pweaver/local/src/Cabal/darcs,
quit now and issue the same command with the --set-default flag.
Running: ["git", "status"]
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   Distribution/License.hs
#       modified:   Distribution/Simple.hs
#       modified:   Distribution/Simple/InstallDirs.hs
#
no changes added to commit (use "git add" and/or "git commit -a")
Running: ["git", "ls-files", "-t", "-o", "-m", "-d", "-z", "-X", ".git/info/exclude"]
Running: ["git", "ls-files", "-t", "-o", "-m", "-d", "-z", "-X", ".git/info/exclude"]
Running: ["git", "commit", "-a", "-m", "Fix spelling of compatibility\n\nAt request of gwern who found that it was driving him nuts.\n\ndarcs-hash:20080818194951-adfee-a662bcff08df2adfb183424dece4674234853966.gz"]
Running: ["git", "log", "-n1", "--no-color"]

================================================================================
PATCH : Don't propagate cc-options to the InstalledPackageInfo
DATE  : 2008-08-21 06:25:51 -0700
AUTHOR: Simon Marlow <marlowsd@gmail.com> => Simon Marlow <marlowsd@gmail.com>
================================================================================
Running: ["darcs", "pull", "--all", "--quiet", "--match", "hash 20080821132551-12142-e4ddc118b2c842da0f977f73a13c627fd0ed630a.gz", "--set-scripts-executable", "../darcs"]
Note: if you want to change the default remote repository to
/Users/pweaver/local/src/Cabal/darcs,
quit now and issue the same command with the --set-default flag.
Running: ["git", "status"]
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   Distribution/Simple/Register.hs
#
no changes added to commit (use "git add" and/or "git commit -a")
Running: ["git", "ls-files", "-t", "-o", "-m", "-d", "-z", "-X", ".git/info/exclude"]
Running: ["git", "ls-files", "-t", "-o", "-m", "-d", "-z", "-X", ".git/info/exclude"]
Running: ["git", "commit", "-a", "-m", "Don't propagate cc-options to the InstalledPackageInfo\n\ncc-options is for options to be passed to C compilations in the\ncurrent package.  If we propagate those options to the\nInstalledPackageInfo, they get passed to C compilations in any package\nthat depends on this one, which could be disastrous.  I've seen\ncc-options like these:\n\n   cc-options: -optc-std\xC99\n   cc-options:         -D_FILE_OFFSET_BITSd\n   Cc-options:      -Wall\n\nthese are all clearly intended to be local, but are in fact currently\npropagated to all dependent packages.\n\ndarcs-hash:20080821132551-12142-e4ddc118b2c842da0f977f73a13c627fd0ed630a.gz"]
/Users/pweaver/homebrew/Cellar/ruby/1.9.2-p0/lib/ruby/1.9.1/shellwords.rb:84:in `gsub!': invalid byte sequence in US-ASCII (ArgumentError)
       from /Users/pweaver/homebrew/Cellar/ruby/1.9.2-p0/lib/ruby/1.9.1/shellwords.rb:84:in `shellescape'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:151:in `block in output_of'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:151:in `map'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:151:in `output_of'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:354:in `commit_to_git_repo'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:316:in `pull_and_apply'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:524:in `block in <main>'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:520:in `each'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:520:in `each_with_index'
       from /Users/pweaver/foo/darcs-to-git/darcs-to-git:520:in `<main>'

pheaver commented Jan 31, 2011

Let me know if there's anything you want me to try.

Owner

purcell commented Feb 1, 2011

Hey Philip -- Just logging my progress here. I managed to completely convert the repo without problems, but that was with Ruby 1.8.7. So I'm just about to re-run the conversion using 1.9.2.

Owner

purcell commented Feb 1, 2011

Turns out it was due to a bug on my part. The problem was due to the =64 string in the patch comment, which my code wrongly unescaped to an invalid byte. Sorry about that. I've committed a fix here: 1c8cccb

pheaver commented Feb 1, 2011

Oh cool, thanks!

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment