summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-05-07 13:25:56 -0400
committerJoey Hess <joey@kitenet.net>2010-05-07 13:25:56 -0400
commit911184432d1ccbeb1bcee224efba99f558ba74d5 (patch)
tree1a4caa0668541d5ebceeb65583cb85c124c363a3
parent8cd216d748961a18d373b8fea6e4346c0c372f6e (diff)
parentb01a2274c3f96541b8b48f9ebb883ee8b7451fa3 (diff)
Merge branch 'master' into commentreorg
-rw-r--r--IkiWiki.pm3
-rw-r--r--doc/bugs/deletion_warnings.mdwn3
-rw-r--r--doc/bugs/gitremotes_script_picks_up_tags_from_anywhere.mdwn18
-rwxr-xr-xgitremotes4
4 files changed, 26 insertions, 2 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index 11cfcdfd2..d76b5edb4 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -2348,7 +2348,8 @@ sub match_internal ($$;@) {
sub match_page ($$;@) {
my $page=shift;
my $match=match_glob($page, shift, @_);
- if ($match && ! defined IkiWiki::pagetype($IkiWiki::pagesources{$page})) {
+ if ($match && ! (exists $IkiWiki::pagesources{$page}
+ && defined IkiWiki::pagetype($IkiWiki::pagesources{$page}))) {
return IkiWiki::FailReason->new("$page is not a page");
}
else {
diff --git a/doc/bugs/deletion_warnings.mdwn b/doc/bugs/deletion_warnings.mdwn
index c8879379b..668626b49 100644
--- a/doc/bugs/deletion_warnings.mdwn
+++ b/doc/bugs/deletion_warnings.mdwn
@@ -2,6 +2,9 @@ Seen while deleting a blog's calendar pages:
--[[Joey]]
+[[done]] -- the new `page()` pagespec needed to check if there was a source
+file for the page, and was leaking undef.
+
<pre>
427250f..ff6c054 master -> origin/master
Use of uninitialized value $file in pattern match (m//) at /usr/share/perl5/IkiWiki.pm line 688.
diff --git a/doc/bugs/gitremotes_script_picks_up_tags_from_anywhere.mdwn b/doc/bugs/gitremotes_script_picks_up_tags_from_anywhere.mdwn
new file mode 100644
index 000000000..32cf419e8
--- /dev/null
+++ b/doc/bugs/gitremotes_script_picks_up_tags_from_anywhere.mdwn
@@ -0,0 +1,18 @@
+[[!tag patch]]
+[[!template id=gitbranch branch=smcv/ready/no-tags author="[[smcv]]"]]
+
+The `gitremotes` script picks up tags from any repository, including those
+used for local .debs that were never actually present in Debian:
+
+ smcv@reptile% git tag | grep -c nmu
+ 52
+
+This can be avoided with the `tagopt = --no-tags` option in .git/config;
+see <http://git.pseudorandom.co.uk/smcv/ikiwiki.git?a=shortlog;h=refs/heads/ready/no-tags>
+
+> [[done]] thanks. Also cleared propigated tags out of origin.
+>
+> Hmm, in testing I still see tags get pulled the first time a remote
+> is added. If those are then locally deleted, it doesn't pull them again
+> with the `--no-tags`.
+> --[[Joey]]
diff --git a/gitremotes b/gitremotes
index f596c650f..6c03011a8 100755
--- a/gitremotes
+++ b/gitremotes
@@ -16,7 +16,9 @@ while (<IN>) {
my ($oldurl)=$info=~/URL: (.*)/m;
if ($oldurl ne $url) {
system("git remote rm $remote 2>/dev/null");
- system("git", "remote", "add", "-f", $remote, $url)
+ system("git", "remote", "add", "-f", $remote, $url);
+ system("git", "config", "remote.$remote.tagopt",
+ "--no-tags");
}
}
}