]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/mercurial.mdwn
update for rename of ikiwikiusers.mdwn to jasatamanjogja.mdwn
[git.ikiwiki.info.git] / doc / todo / mercurial.mdwn
index 89f5337ab892f94fb50f4639a573e37f6c9133ce..de1f148e5a030763d1c65b281f6397252aafa206 100644 (file)
   It seems that with the current mercurial commit code, it will always
   blindly overwrite the current file with the web edited version, losing
   any other changes.
   It seems that with the current mercurial commit code, it will always
   blindly overwrite the current file with the web edited version, losing
   any other changes.
+* `rcs_commit_staged`, `rcs_rename`, `rcs_remove`, and `rcs_diff` are not
+  implemented for mercurial, and so attachments, remove and rename plugins
+  and recentchangesdiff cannot be used with it. (These should be fairly
+  easy to add..)
 
 Posthook: in `$srcdir/.hg/hgrc`, I have the following
 
 
 Posthook: in `$srcdir/.hg/hgrc`, I have the following
 
@@ -36,6 +40,7 @@ The problem with --post-commit is that if you delete some pages in $SRC, ikiwiki
 > That will work. I think that the `--setup --post-commit` on the command
 > line is currently broken and does the same expensive rebuild process as --setup
 > alone (which doesn't delete files from $DEST either). Will fix that.
 > That will work. I think that the `--setup --post-commit` on the command
 > line is currently broken and does the same expensive rebuild process as --setup
 > alone (which doesn't delete files from $DEST either). Will fix that.
+> (fixed)
 > --[[Joey]] 
 
 >> Mercurial doesn't support put hooks in .hg/hooks/* (like git). In Mercurial, the only way to run
 > --[[Joey]] 
 
 >> Mercurial doesn't support put hooks in .hg/hooks/* (like git). In Mercurial, the only way to run
@@ -47,12 +52,20 @@ The problem with --post-commit is that if you delete some pages in $SRC, ikiwiki
 >> Alternative is always editing via cgi or pushing.  Never work on the $SRC/repo directly.
 >> --[[users/weakish]]
 
 >> Alternative is always editing via cgi or pushing.  Never work on the $SRC/repo directly.
 >> --[[users/weakish]]
 
+>>> I don't see anything preventing you from using a setup file with
+>>> `mercurial_wrapper => ".hg/ikiwiki-hook",` and then modifying the hgrc
+>>> to run that wrapper. --[[Joey]] 
+
+>> Thanks for pointing out this.  I have some stupid misunderstanding on the
+>> usage of mercurial_wrapper before.  The wrapper works nicely! --[[weakish]]
+
 I add the following to .hg/hgrc:(I use changegroup since I don't think we need refresh per changeset, please point out if I am wrong.)
 
     [hooks]
     changegroup = hg update >&2 && ikiwiki --setup path.to.setup.file --refresh
 I add the following to .hg/hgrc:(I use changegroup since I don't think we need refresh per changeset, please point out if I am wrong.)
 
     [hooks]
     changegroup = hg update >&2 && ikiwiki --setup path.to.setup.file --refresh
+    post-commit = path.to.the.mercurial.wrapper
 
 
-<p><del>post-commit = ikiwiki --setup path.to.setup.file --refresh</del><strong>This will cause deadlock! See bleow!</strong></p>
+-----
 
 I have no idea when the deadlock will happen.  --[[users/weakish]]
 
 
 I have no idea when the deadlock will happen.  --[[users/weakish]]
 
@@ -106,3 +119,11 @@ I have a few notes on mercurial usage after trying it out for a while:
 >> I think the ideal solution would be to build `$destdir/recentchanges/*` directly from the output of `hg log`. --[[buo]]
 
 >>>> That would be 100 times as slow, so I chose not to do that. --[[Joey]]
 >> I think the ideal solution would be to build `$destdir/recentchanges/*` directly from the output of `hg log`. --[[buo]]
 
 >>>> That would be 100 times as slow, so I chose not to do that. --[[Joey]]
+
+>>>> Since this is confusing people, allow me to clarify: Ikiwiki's
+>>>> recentchanges generation pulls log information directly out of the VCS as
+>>>> needed. It caches it in recentchanges/* in the `scrdir`. These cache
+>>>> files need not be preserved, should never be checked into VCS, and if
+>>>> you want to you can configure your VCSignore file to ignore them,
+>>>> just as you can configure it to ignore the `.ikiwiki` directory in the
+>>>> `scrdir`. --[[Joey]]