| Time |
S |
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 |