##// END OF EJS Templates
merge with stable
Matt Mackall -
r16576:eab32ab5 merge default
parent child Browse files
Show More
@@ -53,3 +53,4 b' 53e2cd303ecf8ca7c7eeebd785c34e5ed6b0f4a4'
53 53 b9bd95e61b49c221c4cca24e6da7c946fc02f992 0 iD8DBQBPeLsIywK+sNU5EO8RAvpNAKCtKe2gitz8dYn52IRF0hFOPCR7AQCfRJL/RWCFweu2T1vH/mUOCf8SXXc=
54 54 d9e2f09d5488c395ae9ddbb320ceacd24757e055 0 iD8DBQBPju/dywK+sNU5EO8RArBYAJ9xtifdbk+hCOJO8OZa4JfHX8OYZQCeKPMBaBWiT8N/WHoOm1XU0q+iono=
55 55 00182b3d087909e3c3ae44761efecdde8f319ef3 0 iD8DBQBPoFhIywK+sNU5EO8RAhzhAKCBj1n2jxPTkZNJJ5pSp3soa+XHIgCgsZZpAQxOpXwCp0eCdNGe0+pmxmg=
56 5983de86462c5a9f42a3ad0f5e90ce5b1d221d25 0 iD8DBQBPovNWywK+sNU5EO8RAhgiAJ980T91FdPTRMmVONDhpkMsZwVIMACgg3bKvoWSeuCW28llUhAJtUjrMv0=
@@ -65,3 +65,4 b' 53e2cd303ecf8ca7c7eeebd785c34e5ed6b0f4a4'
65 65 b9bd95e61b49c221c4cca24e6da7c946fc02f992 2.1.2
66 66 d9e2f09d5488c395ae9ddbb320ceacd24757e055 2.2-rc
67 67 00182b3d087909e3c3ae44761efecdde8f319ef3 2.2
68 5983de86462c5a9f42a3ad0f5e90ce5b1d221d25 2.2.1
@@ -398,10 +398,6 b' def reposetup(ui, repo):'
398 398 if not fstandin.endswith(os.sep):
399 399 fstandin += os.sep
400 400
401 # prevalidate matching standin directories
402 if util.any(st for st in match._files
403 if st.startswith(fstandin)):
404 continue
405 401 actualfiles.append(f)
406 402 match._files = actualfiles
407 403
@@ -7,7 +7,7 b''
7 7
8 8 from mercurial.i18n import _
9 9 from mercurial.node import hex
10 from mercurial import encoding, error, util
10 from mercurial import encoding, util
11 11 import errno, os
12 12
13 13 def valid(mark):
@@ -36,7 +36,7 b' def read(repo):'
36 36 refspec = encoding.tolocal(refspec)
37 37 try:
38 38 bookmarks[refspec] = repo.changelog.lookup(sha)
39 except error.RepoLookupError:
39 except LookupError:
40 40 pass
41 41 except IOError, inst:
42 42 if inst.errno != errno.ENOENT:
@@ -1328,6 +1328,15 b' The full set of options is:'
1328 1328 ``cache``
1329 1329 Whether to support caching in hgweb. Defaults to True.
1330 1330
1331 ``collapse``
1332 With ``descend`` enabled, repositories in subdirectories are shown at
1333 a single level alongside repositories in the current path. With
1334 ``collapse`` also enabled, repositories residing at a deeper level than
1335 the current path are grouped behind navigable directory entries that
1336 lead to the locations of these repositories. In effect, this setting
1337 collapses each collection of repositories found within a subdirectory
1338 into a single entry for that subdirectory. Default is False.
1339
1331 1340 ``contact``
1332 1341 Name or email address of the person in charge of the repository.
1333 1342 Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
@@ -470,9 +470,11 b' static void _index_clearcaches(indexObje'
470 470 Py_ssize_t i;
471 471
472 472 for (i = 0; i < self->raw_length; i++) {
473 Py_XDECREF(self->cache[i]);
473 if (self->cache[i]) {
474 Py_DECREF(self->cache[i]);
474 475 self->cache[i] = NULL;
475 476 }
477 }
476 478 free(self->cache);
477 479 self->cache = NULL;
478 480 }
@@ -957,9 +959,19 b' static long inline_scan(indexObject *sel'
957 959 return len;
958 960 }
959 961
960 static int index_real_init(indexObject *self, const char *data, int size,
961 PyObject *inlined_obj, PyObject *data_obj)
962 static int index_init(indexObject *self, PyObject *args)
962 963 {
964 PyObject *data_obj, *inlined_obj;
965 Py_ssize_t size;
966
967 if (!PyArg_ParseTuple(args, "OO", &data_obj, &inlined_obj))
968 return -1;
969 if (!PyString_Check(data_obj)) {
970 PyErr_SetString(PyExc_TypeError, "data is not a string");
971 return -1;
972 }
973 size = PyString_GET_SIZE(data_obj);
974
963 975 self->inlined = inlined_obj && PyObject_IsTrue(inlined_obj);
964 976 self->data = data_obj;
965 977 self->cache = NULL;
@@ -971,7 +983,6 b' static int index_real_init(indexObject *'
971 983 self->ntdepth = self->ntsplits = 0;
972 984 self->ntlookups = self->ntmisses = 0;
973 985 self->ntrev = -1;
974 Py_INCREF(self->data);
975 986
976 987 if (self->inlined) {
977 988 long len = inline_scan(self, NULL);
@@ -987,27 +998,16 b' static int index_real_init(indexObject *'
987 998 self->raw_length = size / 64;
988 999 self->length = self->raw_length + 1;
989 1000 }
1001 Py_INCREF(self->data);
990 1002
991 1003 return 0;
992 1004 bail:
993 1005 return -1;
994 1006 }
995 1007
996 static int index_init(indexObject *self, PyObject *args, PyObject *kwds)
997 {
998 const char *data;
999 int size;
1000 PyObject *inlined_obj;
1001
1002 if (!PyArg_ParseTuple(args, "s#O", &data, &size, &inlined_obj))
1003 return -1;
1004
1005 return index_real_init(self, data, size, inlined_obj,
1006 PyTuple_GET_ITEM(args, 0));
1007 }
1008
1009 1008 static PyObject *index_nodemap(indexObject *self)
1010 1009 {
1010 Py_INCREF(self);
1011 1011 return (PyObject *)self;
1012 1012 }
1013 1013
@@ -1106,26 +1106,19 b' static PyTypeObject indexType = {'
1106 1106 */
1107 1107 static PyObject *parse_index2(PyObject *self, PyObject *args)
1108 1108 {
1109 const char *data;
1110 int size, ret;
1111 PyObject *inlined_obj, *tuple = NULL, *cache = NULL;
1109 PyObject *tuple = NULL, *cache = NULL;
1112 1110 indexObject *idx;
1113
1114 if (!PyArg_ParseTuple(args, "s#O", &data, &size, &inlined_obj))
1115 return NULL;
1111 int ret;
1116 1112
1117 1113 idx = PyObject_New(indexObject, &indexType);
1118
1119 1114 if (idx == NULL)
1120 1115 goto bail;
1121 1116
1122 ret = index_real_init(idx, data, size, inlined_obj,
1123 PyTuple_GET_ITEM(args, 0));
1124 if (ret)
1117 ret = index_init(idx, args);
1118 if (ret == -1)
1125 1119 goto bail;
1126 1120
1127 1121 if (idx->inlined) {
1128 Py_INCREF(idx->data);
1129 1122 cache = Py_BuildValue("iO", 0, idx->data);
1130 1123 if (cache == NULL)
1131 1124 goto bail;
@@ -1134,8 +1127,6 b' static PyObject *parse_index2(PyObject *'
1134 1127 Py_INCREF(cache);
1135 1128 }
1136 1129
1137 Py_INCREF(idx);
1138
1139 1130 tuple = Py_BuildValue("NN", idx, cache);
1140 1131 if (!tuple)
1141 1132 goto bail;
@@ -371,3 +371,8 b' test wrongly formated bookmark'
371 371 * Z 3:125c9a1d6df6
372 372 x y 2:db815d6d32e6
373 373
374 test missing revisions
375
376 $ echo "925d80f479bc z" > .hg/bookmarks
377 $ hg book
378 no bookmarks set
General Comments 0
You need to be logged in to leave comments. Login now