--- a/contrib/hgk Wed Dec 20 17:04:07 2006 -0600
+++ b/contrib/hgk Thu Dec 21 23:17:20 2006 -0600
@@ -43,7 +43,9 @@
}
if [catch {
set parse_args [concat --default HEAD $revargs]
- set parsed_args [split [eval exec hg debug-rev-parse $parse_args] "\n"]
+ set parse_temp [eval exec hg debug-rev-parse $parse_args]
+ regsub -all "\r\n" $parse_temp "\n" parse_temp
+ set parsed_args [split $parse_temp "\n"]
} err] {
# if git-rev-parse failed for some reason...
if {$rargs == {}} {
@@ -108,6 +110,7 @@
set leftover {}
}
set start [expr {$i + 1}]
+ regsub -all "\r\n" $cmit "\n" cmit
set j [string first "\n" $cmit]
set ok 0
if {$j >= 0} {
@@ -209,6 +212,7 @@
incr ncleft($p)
}
}
+ regsub -all "\r\n" $contents "\n" contents
foreach line [split $contents "\n"] {
if {$inhdr} {
set line [split $line]
@@ -257,7 +261,8 @@
global tagids idtags headids idheads tagcontents
set tags [exec hg tags]
- set lines [split $tags '\n']
+ regsub -all "\r\n" $tags "\n" tags
+ set lines [split $tags "\n"]
foreach f $lines {
set f [regexp -all -inline {\S+} $f]
set direct [lindex $f 0]
@@ -2856,6 +2861,7 @@
if {$ids != $diffids || $bdf != $blobdifffd($ids)} {
return
}
+ regsub -all "\r" $line "" line
$ctext conf -state normal
if {[regexp {^diff --git a/(.*) b/(.*)} $line match fname newname]} {
# start of a new file
@@ -2914,7 +2920,7 @@
} elseif {$diffinhdr || $x == "\\"} {
# e.g. "\ No newline at end of file"
$ctext insert end "$line\n" filesep
- } else {
+ } elseif {$line != ""} {
# Something else we don't recognize
if {$curdifftag != "Comments"} {
$ctext insert end "\n"
--- a/contrib/purge/purge.py Wed Dec 20 17:04:07 2006 -0600
+++ b/contrib/purge/purge.py Thu Dec 21 23:17:20 2006 -0600
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-#
# Copyright (C) 2006 - Marco Barisione <marco@barisione.org>
#
# This is a small extension for Mercurial (http://www.selenic.com/mercurial)
--- a/contrib/sample.hgrc Wed Dec 20 17:04:07 2006 -0600
+++ b/contrib/sample.hgrc Thu Dec 21 23:17:20 2006 -0600
@@ -46,7 +46,7 @@
### hgk - GUI repository browser
### hg help view
-# hgk = /home/user/hg/hg/contrib/hgk.py
+# hgext.hgk =
### mq - Mercurial patch queues
### hg help mq
@@ -63,6 +63,11 @@
# hgext.patchbomb =
+### churn - create a graph showing who changed the most lines
+### hg help churn
+
+# hgext.churn = /home/user/hg/hg/contrib/churn.py
+
### win32text - line ending conversion filters for the Windows platform
# hgext.win32text =
--- a/mercurial/localrepo.py Wed Dec 20 17:04:07 2006 -0600
+++ b/mercurial/localrepo.py Thu Dec 21 23:17:20 2006 -0600
@@ -634,11 +634,11 @@
changelist.append(fn)
return fl.add(t, meta, transaction, linkrev, fp1, fp2)
- def rawcommit(self, files, text, user, date, p1=None, p2=None, wlock=None):
+ def rawcommit(self, files, text, user, date, p1=None, p2=None, wlock=None, extra={}):
if p1 is None:
p1, p2 = self.dirstate.parents()
return self.commit(files=files, text=text, user=user, date=date,
- p1=p1, p2=p2, wlock=wlock)
+ p1=p1, p2=p2, wlock=wlock, extra=extra)
def commit(self, files=None, text="", user=None, date=None,
match=util.always, force=False, lock=None, wlock=None,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/raw/manifest.tmpl Thu Dec 21 23:17:20 2006 -0600
@@ -0,0 +1,3 @@
+{header}
+{dentries%manifestdirentry}{fentries%manifestfileentry}
+{footer}
--- a/templates/raw/map Wed Dec 20 17:04:07 2006 -0600
+++ b/templates/raw/map Thu Dec 21 23:17:20 2006 -0600
@@ -14,3 +14,6 @@
filediff = filediff.tmpl
fileannotate = fileannotate.tmpl
annotateline = '#author#@#rev#: #line#'
+manifest = manifest.tmpl
+manifestdirentry = 'drwxr-xr-x {basename}\n'
+manifestfileentry = '{permissions|permissions} {size} {basename}\n'
--- a/templates/rss/header.tmpl Wed Dec 20 17:04:07 2006 -0600
+++ b/templates/rss/header.tmpl Thu Dec 21 23:17:20 2006 -0600
@@ -1,5 +1,6 @@
-Content-type: text/xml
+Content-type: text/xml; charset={encoding}
+<?xml version="1.0" encoding="{encoding}"?>
<rss version="2.0">
<channel>
<link>{urlbase}{url}</link>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-hgweb Thu Dec 21 23:17:20 2006 -0600
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+hg init test
+cd test
+mkdir da
+echo foo > da/foo
+echo foo > foo
+hg ci -Ambase -d '0 0'
+hg serve -p 20060 -d --pid-file=hg.pid
+echo % manifest
+("$TESTDIR/get-with-headers.py" localhost:20060 '/file/tip/?style=raw')
+("$TESTDIR/get-with-headers.py" localhost:20060 '/file/tip/da?style=raw')
+kill `cat hg.pid`
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-hgweb.out Thu Dec 21 23:17:20 2006 -0600
@@ -0,0 +1,16 @@
+adding da/foo
+adding foo
+% manifest
+200 Script output follows
+
+
+drwxr-xr-x da
+-rw-r--r-- 4 foo
+
+
+200 Script output follows
+
+
+-rw-r--r-- 4 foo
+
+