Camelia, the Perl 6 bug

IRC log for #darcs, 2012-12-14

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

All times shown according to UTC.

Time Nick Message
00:02 Heffalump atime of what file?
00:02 Heffalump oh, I see, patch file
00:02 Heffalump i.e. check that it doesn't even read them?
00:03 owst Yeah
00:03 owst if it does, die, killing the script
00:03 owst or something
00:03 Heffalump the other option is to make the repo at the code level, where you can make a Patch be an error
00:03 owst Seems invasive for testing purposes
00:04 Heffalump yeah, depends at what level you want the test to be
00:24 gpiero owst: your idea is that you know the name of the patchfile to be monitored ? in that case, and if you be happy with perl, it should be doable in a short time
00:32 owst gpiero: I've just about hacked up a bit of c to do it - perl would be better though
00:36 gpiero giving up today... i can hack something together tomorrow if still needed
00:37 owst cool, thanks
00:37 Heffalump I'm wondering if just having the file be missing would be enough?
00:37 Heffalump i.e. a bona fide lazy repo without access to its source
00:38 owst No, I tried that
00:38 owst changes for example just prints "not available"
00:38 owst (I inited a new repo, created 2 patches and deleted the patch file for one)
00:40 Heffalump what about rollback?
00:40 Heffalump or, how about if the patch file is corrupt?
00:41 mizu_no_oto joined #darcs
00:42 gpiero left #darcs
00:42 owst corrupt just says "this patch is unavailable"
00:42 owst rollback fails
00:42 gpiero joined #darcs
00:42 owst but we would want to be sure more commands than rollback don't access particular patches
00:46 Heffalump yeah - though the enquiry ones that do really tolerate unavailable ones are probably ok
00:51 gpiero see you guys... thanks for the help
00:52 gpiero left #darcs
01:55 mizu_no_oto joined #darcs
02:09 mizu_no_oto joined #darcs
02:53 intripoon_ joined #darcs
03:29 mizu_no_oto joined #darcs
03:51 mizu_no_oto joined #darcs
04:09 mizu_no_oto joined #darcs
08:23 schlaftier joined #darcs
08:25 raichoo joined #darcs
09:19 nomeata joined #darcs
10:40 mal`` joined #darcs
10:41 amgarching joined #darcs
10:46 owst joined #darcs
14:07 markstos joined #darcs
14:51 mizu_no_oto joined #darcs
15:03 kowey joined #darcs
15:23 markstos Just had a nice rebase experience: I wanted to replace a patch with an amended version (B with B+), but another patch A depended on B. I was able to suspend A, then oblit B, pull in B+, and unsuspend A. No conflicts! Successful dependency injection.
15:40 kowey rebase has been really great for me
15:41 kowey as a deep amend record
15:41 kowey problem is that I'm the sort of fussy user that wants minimal patches, which not everybody is
15:41 kowey the kind of users I support want version control to be a big "save" button
15:42 markstos I heard once of of folks who set up a cron job to do nightly "commits" of whatever changed.
15:42 kowey and all this stuff is just irrelevant to them :-/ the big struggle is just getting them to not feel like rebelling against the whole idea of using version control (eg. by just darcs recording million line patches)
15:43 markstos At least your team is using darcs.
15:43 kowey it's perfectly understandable that they be ignorant of the issues at hand (ie. why their hackers get fussy about things like this)
15:43 kowey well that's because it's the two of us
15:43 kowey and I can mandate it
15:43 kowey but sometimes feels unwise
15:43 kowey but no way would they be able to wrap their heads around git if darcs is this aggravating
15:43 kowey they'd maybe be happier with something like CVS
15:43 kowey but then I'd be miserable
15:43 * markstos nods
15:44 kowey things like line ending changes for example
15:44 kowey understanding the different between nuking + readding a file vs just making a patch
15:44 kowey totally over head
15:44 kowey understandably
15:44 kowey sorry for random-ranting
15:45 kowey so really, we need to take our own darcs-is-easy propaganda with massive dose of salt
15:45 kowey “not if you're a computational linguist, it's not”
15:45 kowey probably still easier than git
15:45 kowey but that's not saying much
15:46 * markstos wonders aloud: "What if I rebase pull"... but the local patch that would suspended is beyond a tag... wouldn't it offlimits to potentially modify it?
15:59 raichoo joined #darcs
16:47 Heffalump markstos: tags can be suspended too (IIRC) - but it changes their identity like any other patch
16:48 markstos I just tried "rebase pull" for the first time. I learned that it prompts me for what to suspend, rather than doing it automatically. I like that confirmation step.
17:12 amgarchIn9 joined #darcs
17:17 schlaftier joined #darcs
17:36 kmels joined #darcs
18:02 mizu_no_oto joined #darcs
18:24 markstos I was just comparing an original patch with the rebased version. I was surprised to see that "rebase" inverted the meaning of the patch:
18:24 markstos https://gist.github.com/481b5e27a15ca41cc071
18:25 markstos I'm not suggesting the overall result was wrong, but it will make for a more confusing read through this part of the project history.
18:49 mizu_no_oto joined #darcs
18:55 raichoo joined #darcs
19:04 kmels joined #darcs
19:12 kmels joined #darcs
19:28 kmels joined #darcs
19:31 markstos I just triggered this darcs bug:
19:31 markstos darcs: bug at src/Darcs/Patch/Depends.hs:322 compiled Dec 10 2012 12:55:04
19:31 markstos Failed to commute common patches:
19:32 markstos It is not blocking me, and was triggered by a complicated situation I wouldn't expect to come up much.
19:33 gh_ joined #darcs
19:38 kmels joined #darcs
20:09 kmels joined #darcs
20:18 schlaftier joined #darcs
20:21 madjestic joined #darcs
20:23 madjestic hey guys,  how are darcs patches differ from git's diffs?
20:24 madjestic aren't they functionally the same?  (sum of patches = object) ~ (sum of diffs = object)?
20:25 madjestic I am going through the basics and would like to get a hold on it
20:25 markstos madjestic: As primers, I recommend: http://darcs.net/DifferencesFromOtherDVCS and http://darcs.net/DifferencesFromGit
20:25 markstos madjestic: Darcs is based on a "patch algebra" which enables fundamentally different workflows.
20:26 markstos For example, my project has dozens of projects going in parallel, yet we only use one branch with darcs.
20:26 madjestic o_O
20:26 markstos And we largely launch our work in whatever order we like, not in chronological order.
20:27 madjestic 1 per project?  Or 1 branch total?
20:27 markstos 1 branch total. (Except for very large major features, which comes up < 1 per year for us)
20:27 markstos My work flow with darcs is described here:
20:27 markstos http://darcs.net/SpontaneousBranches
20:28 markstos Instead using physical branches, we tag each patch with the the "Ticket number" we are working on from the bug tracker,
20:28 markstos and then push or pull patches that related to that ticket number.
20:28 kmels joined #darcs
20:29 madjestic damn
20:29 markstos Other DVCs have "cherry picking", but as I understand, none of them do it as intelligently as darcs does, as darcs automatically tracks dependencies between patches.
20:29 markstos So if one patch requires another that wasn't tagged with the ticket number, it would come along too.
20:29 markstos The most recent dev versions of darcs add "darcs rebase", a favorite advanced feature of git.
20:30 madjestic how does reverting the changes work?
20:30 markstos If you want to revert changes in your working directory, use "darcs revert"
20:31 markstos It will interactively prompt you for specific changes to revert, or you can use 'darcs revert --all"
20:31 markstos If you want to completely remove  a patch from your tree: "darcs obliterate".... it also interactively prompts you to select a patch.
20:32 madjestic will it not break upwards dependencies?
20:32 markstos There is none of the finding and copy/pasting long  hash checksums that are in Git workflows.
20:32 markstos madjestic: There are certain commands that only "safe" to use in your repo, or if you are willing to repair other dev's repos as well.
20:33 markstos That point is the same as other options.
20:33 madjestic that's expected
20:33 markstos For example, in your personal repo, it's safe to amend a patch and add more changes. Once it's left your repo and been shared, you should probably ship an additional revision patch.
20:34 markstos I also use git for several open source projects, but I much prefer darcs. Our  project has 18,000 patches, about 1,000 files and takes a Gig of disk space. I find darcs still works well at this scale.
20:36 madjestic I've been reading on Git along with darcs (I am relatively (as in I clone a few repos a couple of times) new to both).  At first Git #id seamed like a good idea, but now I can see it in light of darcs
20:36 madjestic markstos: what is the reason for Git being so massively popular, while darcs enjoys less attention, compared to Git?
20:37 madjestic the basics seem not harder than Git
20:37 madjestic so I can't blame high entry point really
20:38 kmels joined #darcs
20:38 markstos Github plays a role. Darcs recently  had a similar project created, but it is not nearly as mature.... there's a not  answer to that question, but not all choices are rational or technical, and not all the best technologies are the most popular.
20:40 markstos I expect darcs would be much easier to learn. It has a much smaller command set, and nearly everything is interactive, so you don't have lots of flags to learn to start being productive.
20:41 madjestic what do you mean by maturity?
20:42 markstos Look at http://hub.darcs.net/  and http://github.com/ They have some features in common,  GitHub is far more developed.
20:42 markstos The darcs variant is open source, though.
20:43 markstos And there is a bridge tool between darcs and git, so potentially you can work in darcs, with a bidirectional connection with github.  I don't use that, though.
20:44 madjestic is not Git opensource?
20:44 markstos Yes, Github is not.
20:45 madjestic oh, sorry
20:45 madjestic Git != Github
20:46 markstos madjestic: Are you considering using darcs for a project?
20:52 madjestic yes
20:52 madjestic is that technically possible to use both darcs and Git for the same project (say, a test project, for the sake of learnign the difference)?
20:55 markstos madjestic: Yes.
20:57 madjestic markstos: thank you for your answers
20:58 markstos You are welcome.
21:09 kmels joined #darcs
21:12 madjestic Git /join #git
21:12 madjestic oop :)
21:57 madjestic I've been just called nonsensical, after asking the very first question on #git channel. So much for the differnce between darcs and vim
21:57 madjestic *darcs and git
21:58 markstos Not a very welcoming first impression, sounds like.
21:59 markstos If other devs will be collaborating with you the project, their input will need to be taken into account as well.
22:01 madjestic I am about to finish getting git basics, then I will switch to DifferencesFromOtherDVCS example
22:01 madjestic it's not christmass yet and I've got new toys already!
22:22 gh_ joined #darcs
22:39 madjestic actually I can not go past step 6 here: http://darcs.net/DifferencesFromOtherDVCS
22:39 madjestic git produces an error
22:48 madjestic joined #darcs
23:22 stepcut joined #darcs
23:22 mizu_no_oto joined #darcs
23:24 kmels joined #darcs
23:26 madjestic so darcs is, basically, category theory, used for vcs purposes?
23:26 Heffalump no :-)
23:27 Heffalump it's even less category theory used for VCS purposes than Haskell is category theory used for programming language purposes
23:27 Heffalump I can't remember if there's a category with trees as objects and patches as arrows or something similar, but I don't think it would provide any useful intuition even if there was
23:31 kmels joined #darcs
23:34 gpiero joined #darcs
23:36 madjestic We can't just remove the beer patch, because then there would no longer be a context for the pasta patch!
23:36 madjestic this line is deep
23:37 Heffalump :-) note that you can explicitly say that pasta depends on beer even if there is no obvious dependency darcs can see
23:53 owst joined #darcs
23:57 mizu_no_oto joined #darcs

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