Camelia, the Perl 6 bug

IRC log for #darcs, 2008-02-13

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 zooko What is your current predicament, anyway?
00:09 nferrier I've got a patch that shouldn;t depend on anything that does
00:10 nferrier and so I can't push just that
00:10 nferrier but I want to be able to
01:14 lispy nferrier: why shouldn't it depend on them?
04:44 dmwit Okay, I was going to ask about having to type my password repeatedly for darcs actions on an ssh repository.
04:44 dmwit The manual suggests ssh-agent, though.
04:44 dmwit So that sounds nice, if only I understood what was going on with that.
04:45 dmwit Could somebody give me a quick ten-second intro to ssh-agent/ssh-add?
04:49 Riastradh Start an ssh-agent with the `ssh-agent' command, and execute the commands that it spits out to stdout.  This will start an agent that remembers your passwords and set up your shell environment so that ssh knows how to talk to it.  Type `ssh-add' to prompt you for the passwords for all your private keys to send to the agent.
04:50 Riastradh I have this little script in my .zshrc to automate the process:   if [ -z "$SSH_AUTH_SOCK" ] || [ ! -w "$SSH_AUTH_SOCK"]; then if read -q '?Start ssh-agent? (y/n) '; then ssh-agent -s > ~/.ssh-agent && source ~/.ssh-agent && ssh-add; fi; fi
05:22 dmwit After doing the ssh-agent bit, ssh-add exits with error code and doesn't seem to do anything else.
05:24 lispy dmwit: I find that adding my ssh public key to the remote host to be the easiest way
05:24 lispy it's probably considered less secure though
05:25 dmwit I don't know how any of this works.
05:25 dmwit Up until now, ssh has been a black-box for me.
05:25 lispy dmwit: you're on some varient of unix?
05:25 dmwit yep
05:25 dmwit I've been trying this stuff (unsuccessfully):
05:25 lispy do you feel that your data is secure on the remote end?
05:25 dmwit http://mah.everybody.org/docs/ssh
05:25 lambdabot Title: Using ssh-agent with ssh
05:26 dmwit lispy: Yes, it's secure on the remote end.
05:26 lispy dmwit: okay, then locally you have some folder, like, .ssh
05:26 lispy goes to check
05:26 lispy ah yeah ~/.ssh
05:27 lispy dmwit: http://pkeck.myweb.uga.edu/ssh/
05:27 lambdabot Title: HOWTO: set up ssh keys
05:27 lispy maybe it's easiest to just follow what someone else wrote :)
05:28 dmwit Okay, I'll try that one, thanks. =)
05:28 lispy dmwit: the basic idea is that you have a public/private key pair on your local machine, you then put your public key on remote machines
05:29 lispy dmwit: when when you try to connect the remote machine tries to send something encrypted with your public key...only your private key can decrypt it.  so if you're who you say you are, you get the message and the remote end lets you login
05:29 dmwit Okay, that makes sense.
05:30 dmwit Now I just have to figure out how ssh-keygen, ssh-add, ssh-agent, etc. map onto that intuition. =P
05:30 lispy dmwit: did you look at that link I pasted?
05:30 dmwit I'm working on it now.
05:30 lispy okay cool
05:30 lispy I find ssh-agent to actually be harder than using the keys
05:30 lispy YMMV
05:31 lispy I only use ssh-agent in windows where I don't have much choice.
05:31 dmwit mmm, ok
05:31 lispy dmwit: good luck with it.  Darcs over ssh is really nice once you have it configured.
05:32 dmwit The thing is, I may have to understand it well enough to explain it to two project partners. heh
05:32 lispy Ah
05:32 lispy Well, it's something that is easy to look up
05:33 lispy Lots and lots of short tutorials on the web about it
05:35 dmwit fail
05:35 dmwit I get to step 6, everything is going swimmingly...
05:35 dmwit and then it asks for my password as always.
05:35 lispy something to check is that the remote machine allows key authentication
05:36 lispy also, are you using SSH1 or SSH2?
05:37 dmwit OpenSSH 4.5p1, OpenLLS 0.9.8a -- remote
05:38 dmwit OpenSSH 4.6p1, OpenSSL 9.8.8e -- local
05:38 dmwit err... s/LLS/SSL/ s/9.8/0.9/
05:38 lispy nods
05:38 lispy I figured :)
05:39 lispy dmwit: so step 5 worked correctly for you?
05:39 lispy it created a new shell
05:39 dmwit I don't know.  It doesn't report any errors.
05:39 lispy I'm really not very good at this ssh-agent way
05:40 lispy I usually just create a keypair that has no password for login purposes
05:40 lispy and then forget about ssh-agent
05:40 dmwit yikes!
05:41 dmwit I'm pretty cavalier about security, but not quite that cavalier.
05:41 dmwit Well, anyway, I'll just type my password a few times.
05:42 lispy It's not as bad as it sounds
05:42 lispy have you tried, ssh -2 -v, when you connect?
05:42 lispy to get verbose output and force protocol version 2
05:42 lispy also you could try ssh -1 -v
05:43 lispy just to see a difference
05:43 lispy dmwit: for most people this setup is simple, I'm not sure what we're doing wrong.
05:44 dmwit It may be related to the fact that the remote end is... not simple.
05:45 dmwit It has a simple hostname like "elaine", but that may actually redirect to "elaine10" or "elaine42" or something.
05:45 lispy it could easly be that the remote end doesn't allow your desired authentication
05:45 lispy oh round robin dns?
05:45 lispy that shouldn't break anything
05:45 dmwit ok
05:45 lispy i've used ssh keys in situations like that at my university
05:46 lispy the verbose output might tell you why your ssh-agent attempts fail
05:46 dmwit Okay, I'll try again (later).
05:46 dmwit Thanks for the tips.
05:46 lispy np, I hope you get it working
05:46 lispy it's so much better without the passwords :)
05:47 dmwit shrugs
05:47 dmwit I only have to do it once per submission. =)
05:49 lispy ah it usually asks once per patch
05:49 lispy or at least it used to
05:49 dmwit Well, several times, anyway.
05:49 dmwit A bit less than once per patch, here.
05:49 lispy it will ask once to check the remote inventory and once for each patch it wants to send
05:50 lispy and maybe for some other thing it wants to do, but those are the main once i can think of
05:50 dmwit But I only have to use darcs for a machine-to-machine transfer once per assignment, is what I mean.
05:50 lispy ah
08:50 nferrier lispy: "why shouldn't it depend on them?"
08:50 nferrier I've got a patch that is changing something on a file separate from the things that darcs is telling me that the patch is dependant on.
08:51 nferrier so I've changed a file a/b.xslt
08:51 nferrier and darcs is telling me that the patch for that change depends on some x/y.py patches
08:51 nferrier impossible!
08:51 nferrier except by darcs' use of context.
09:30 ertai nferrier: you are sure that the patch that touch "x/y.py" don't touch also "a/b.xslt"
09:31 ertai nferrier: when you add remove lines in a file you at least depends on the patch that added them
09:31 ertai nferrier: If you just add lines you depend on the patch that add this file.
09:32 ertai nferrier: If you add a file you depend on the patch that adds the parent dir.
09:45 nferrier ertai: I'm sure
09:47 ertai nferrier: dependencies are also transitives here but stops on tags.
09:48 nferrier ertai: these two patches are above any tags
09:48 nferrier ertai: they're both very recent
09:48 nferrier ertai: but in compeltly different parts in the repo
09:48 nferrier ertai: I can see when I look at the contents of the dependant patch that there's nothing in it affecting the depending patch
09:49 ertai nferrier: have look at the Context of your patch
09:50 nferrier ertai: yes. I have.
09:50 nferrier this is what I don't really understand
09:50 nferrier the context of my patch includes a bunch of stuff nothing to do with the file I am changing in the patch
09:51 nferrier I mean if ALL patches are contextual by ALL others at or around the same time, then I'm never going to get a patch that stands alone am I?
09:54 ertai nferrier: the context should be the smallest set of patches that matters
09:54 ertai if not that's a bug
09:55 ertai but I doubt
09:55 nferrier the context for this relatively small patch is over 6000 lines long
09:56 ertai however when you merge two patches, they have both a context, you take the common part of it.
09:56 ertai nferrier: you should use tags, they are here for cutting down contexts
09:57 ertai (however that's not the uniq reason...)
09:57 nferrier ertai: yes. I'm pretty sure there is a tag in there actually
09:57 ertai that should be the last line
09:57 nferrier actually, I know there's a tag in there
09:58 nferrier but the context is going all the way back to the beginning of the repo
09:58 ertai ok that's because you're trying to join/split darcs repos, right?
09:58 nferrier no.
09:59 nferrier this is all one repo
09:59 ertai what is your command to see that context ?
09:59 nferrier darcs send -o changes
09:59 nferrier less chanegs
10:00 nferrier the place I want to send the patch is related to, but not directly the same as the one which I did the send compare with
10:00 nferrier and that's the point
10:00 nferrier I _should_ (I think) be able to change the file I have changed
10:00 nferrier make a patch for it
10:00 nferrier and copy it to the related but not exactly the same repo
10:00 nferrier and be happy
10:01 nferrier just gonna see what happens when I send directly against the target repo
10:02 ertai nferrier: ok the problem is that your target repo is far from your source repo
10:03 nferrier ertai: not in relation to this patch it isn't
10:04 nferrier ertai: my problem is that the patch darcs is declaring a depend just isn't
10:04 nferrier ertai: it's got nothing to do with the one I'm trying to push
10:05 nferrier ertai: wierd.
10:05 nferrier ertai: when I do it directly against the target repo it works!
10:06 ertai if you do a "darcs send" what is the announced URL?
10:06 nferrier the announced url?
10:07 nferrier darcs bothers me like this. this is not consistent behaviour
10:07 nferrier the target repo "C" is a direct relative of "A", I also have a direct relative of "A" which we'll call "B"
10:07 nferrier I have just tried sending from "B" to "C" and it worked
10:08 nferrier but surely I should also be able to send from "B" to "A" and produce a change file that can be applied to "C"
10:08 nferrier ?
10:09 nferrier if I put this B->C patch up in C will I be in trouble when I later push the same changes to B and from there to C?
10:18 ertai when you do "darcs send" with specifing an URL it pick one, and that's probably not the one you thought
10:20 sm pushing with darcs 1.0.9 to an old darcs repo, with darcs 2.0.0pre3 now installed on the server, completed without an error message, didn't show "Finished applying", didn't apply and left a lock file
17:05 droundy sm: could you submit a bug report for that?
17:05 droundy sm: I have a feeling it's related to the encoding of the patch produced by darcs push (which I believe is quasi-mime-encoded, and parsing of that seems to be broken in darcs 2)
19:02 sm droundy: I will
19:02 sm Just pulled darcs-unstable to rebuild to retest, did make clean, configure, make, and I get src/FastPackedString.hs:736:15: Not in scope: `c2w'
19:04 sm I have ghc 6.8.1, bytestring 0.9.0.1 installed
19:06 sm http://bugs.darcs.net/issue682 submitted, thanks
19:06 lambdabot Title: Issue 682: local darcs 1 -> remote darcs 2 push failed with no error - Darcs bug ...
19:12 sm if I can help debug either, let me know
19:15 sm tries darcs trackdown make
19:17 sm hm, GNUmakefile:6: autoconf.mk: No such file or directory every time
19:21 sm is there a way to match patches touching a particular file ?
19:26 sm aha.. FPS line 736 missed the BI qualifier. A patch opportunity!
19:37 sm learns what does and does not work when matching patches
19:38 sm so it was tuesday's * add has_n_newlines (untested!) for ByteString. that did it. I guess the right thing is to just send a new patch, not any kind of rollback or amend- type of thing
19:44 sm I just built.. I wonder why darcs apply configures again to run tests
19:56 sm oh bah.. perl tests fail
19:59 sm time for --no-test. patch sent, later all

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary