changeset 3949:6257030134f4

Merge with crew
author Matt Mackall <mpm@selenic.com>
date Thu, 21 Dec 2006 23:17:20 -0600
parents b58c1681d23b (current diff) be5d099e7a62 (diff)
children 32c1653b7dad
files
diffstat 9 files changed, 54 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/hgk
+++ b/contrib/hgk
@@ -43,7 +43,9 @@ proc getcommits {rargs} {
     }
     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 @@ to allow selection of commits to be disp
 	    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 @@ proc parsecommit {id contents listed old
 	    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 @@ proc readrefs {} {
     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 @@ proc getblobdiffline {bdf ids} {
     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 @@ proc getblobdiffline {bdf ids} {
 	} 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
+++ b/contrib/purge/purge.py
@@ -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
+++ b/contrib/sample.hgrc
@@ -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
+++ b/mercurial/localrepo.py
@@ -634,11 +634,11 @@ class localrepository(repo.repository):
         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,
new file mode 100644
--- /dev/null
+++ b/templates/raw/manifest.tmpl
@@ -0,0 +1,3 @@
+{header}
+{dentries%manifestdirentry}{fentries%manifestfileentry}
+{footer}
--- a/templates/raw/map
+++ b/templates/raw/map
@@ -14,3 +14,6 @@ diffblock = '#lines#'
 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
+++ b/templates/rss/header.tmpl
@@ -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>
new file mode 100755
--- /dev/null
+++ b/tests/test-hgweb
@@ -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`
new file mode 100644
--- /dev/null
+++ b/tests/test-hgweb.out
@@ -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
+
+