[tryton-debian-vcs] hgnested branch upstream updated. upstream/0.6-1-g267d6af

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Thu Sep 3 12:05:19 UTC 2015


The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/hgnested.git;a=commitdiff;h=upstream/0.6-1-g267d6af

commit 267d6afcc257e467cb6a96b2fee501a3dacb18ea
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Thu Sep 3 13:34:00 2015 +0200

    Adding upstream version 0.7.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/CHANGELOG b/CHANGELOG
index d80b35b..163e602 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+Version 0.7 - 2015-08-26
+* Improve performance by skipping .hg directories
+* Add support for tortoisehg
+* Add nshare command
+* Drop support for mercurial 2.8
+
 Version 0.6 - 2012-12-29
 * Fix remote path on Windows
 * Port to mercurial 2.3
diff --git a/PKG-INFO b/PKG-INFO
index 70358b6..50d94ef 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: hgnested
-Version: 0.6
+Version: 0.7
 Summary: Mercurial extension to work with nested repositories
-Home-page: http://code.google.com/p/hgnested/
+Home-page: http://bitbucket.org/cedk/hgnested
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://code.google.com/p/hgnested/downloads/
+Download-URL: http://bitbucket.org/cedk/hgnested/downloads
 Description: hgnested
         ========
         
@@ -28,12 +28,12 @@ Description: hgnested
         
         To run the tests, do (run-tests.py comes from mercurial tests):
         
-            python run-tests.py test-hgnested
+            python run-tests.py test-hgnested.t
         
         
         For more information please visit the `hgnested website`_.
         
-        .. _hgnested website: http://code.google.com/p/hgnested/
+        .. _hgnested website: http://bitbucket.org/cedk/hgnested
         
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/README b/README
index ce4ab8f..53db11f 100644
--- a/README
+++ b/README
@@ -19,9 +19,9 @@ See `hg help hgnested` for the complete list of commands.
 
 To run the tests, do (run-tests.py comes from mercurial tests):
 
-    python run-tests.py test-hgnested
+    python run-tests.py test-hgnested.t
 
 
 For more information please visit the `hgnested website`_.
 
-.. _hgnested website: http://code.google.com/p/hgnested/
+.. _hgnested website: http://bitbucket.org/cedk/hgnested
diff --git a/hgnested.egg-info/PKG-INFO b/hgnested.egg-info/PKG-INFO
index 70358b6..50d94ef 100644
--- a/hgnested.egg-info/PKG-INFO
+++ b/hgnested.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: hgnested
-Version: 0.6
+Version: 0.7
 Summary: Mercurial extension to work with nested repositories
-Home-page: http://code.google.com/p/hgnested/
+Home-page: http://bitbucket.org/cedk/hgnested
 Author: B2CK
 Author-email: info at b2ck.com
 License: GPL-3
-Download-URL: http://code.google.com/p/hgnested/downloads/
+Download-URL: http://bitbucket.org/cedk/hgnested/downloads
 Description: hgnested
         ========
         
@@ -28,12 +28,12 @@ Description: hgnested
         
         To run the tests, do (run-tests.py comes from mercurial tests):
         
-            python run-tests.py test-hgnested
+            python run-tests.py test-hgnested.t
         
         
         For more information please visit the `hgnested website`_.
         
-        .. _hgnested website: http://code.google.com/p/hgnested/
+        .. _hgnested website: http://bitbucket.org/cedk/hgnested
         
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff --git a/hgnested.egg-info/SOURCES.txt b/hgnested.egg-info/SOURCES.txt
index 28b7640..d23fa44 100644
--- a/hgnested.egg-info/SOURCES.txt
+++ b/hgnested.egg-info/SOURCES.txt
@@ -5,8 +5,6 @@ LICENSE
 MANIFEST.in
 README
 setup.py
-test-hgnested
-test-hgnested.out
 hgnested/__init__.py
 hgnested.egg-info/PKG-INFO
 hgnested.egg-info/SOURCES.txt
diff --git a/hgnested.egg-info/requires.txt b/hgnested.egg-info/requires.txt
index 2683c26..6a23881 100644
--- a/hgnested.egg-info/requires.txt
+++ b/hgnested.egg-info/requires.txt
@@ -1 +1 @@
-Mercurial >= 1.9.0
\ No newline at end of file
+Mercurial >= 2.9.0
\ No newline at end of file
diff --git a/hgnested/__init__.py b/hgnested/__init__.py
index 5289435..8121dd6 100755
--- a/hgnested/__init__.py
+++ b/hgnested/__init__.py
@@ -1,11 +1,15 @@
-#This file is part of hgnested.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of hgnested.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 '''commands to manage nested repositories.
 
 This extension provides commands that apply to all the nested repositories.
 
 It was inspired by the forest extension by Robin Farine.
 '''
+
+testedwith = '2.9 3.0 3.1 3.2 3.3 3.4 3.5'
+buglink = 'https://bitbucket.org/cedk/hgnested/issues'
+
 import os
 import time
 from functools import partial
@@ -17,17 +21,14 @@ from mercurial import wireproto
 from mercurial.error import CapabilityError
 from mercurial.scmutil import walkrepos
 from mercurial.i18n import _
-from mercurial.__version__ import version as mercurial_version
-
-version = map(int, mercurial_version.split('.', 2)[:2])
 
-if version >= [2, 3]:
+try:
     from mercurial import sshpeer, httppeer
-else:
+except ImportError:
     from mercurial import sshrepo, httprepo
     sshpeer, httppeer = None, None
 
-__version__ = '0.6'
+__version__ = '0.7'
 
 _nested_cache = {}
 _nested_refreshinterval = 20
@@ -70,6 +71,10 @@ def _localrepo_nested(self):
             for dir in dirs[:]:
                 if dir == '.hg':
                     res[os.path.realpath(root)] = os.path.abspath(root)
+                    proot = os.path.join(root, '.hg', 'patches')
+                    if os.path.isdir(os.path.join(proot, '.hg')):
+                        res[os.path.realpath(proot)] = os.path.abspath(proot)
+                    dirs.remove('.hg')  # Don't visit .hg directory
                 else:
                     path = os.path.join(root, dir)
                     if (os.path.islink(path)
@@ -157,9 +162,8 @@ def _nested_apply(ui, repo, function, status, *args, **kwargs):
             lui = ui
         else:
             lpath = os.path.join(repo.root, npath)
-            lui = ui.__class__()
-            lui.readconfig(os.path.join(lpath, '.hg', 'hgrc'))
-            nrepo = hg.repository(lui, lpath)
+            nrepo = hg.repository(ui, lpath)
+            lui = nrepo.ui
             if function is _nested_diff:
                 kwargs['prefix'] = npath
         if status:
@@ -220,6 +224,29 @@ def nclone(ui, source, dest=None, **opts):
         ui.status('\n')
 
 
+def nshare(ui, source, dest=None, noupdate=False):
+    '''create a new shared repository and all nested repositories
+    '''
+    sourcerepo = hg.repository(ui, source)
+    if dest is None:
+        dest = hg.defaultdest(source)
+        ui.status(_("destination directory: %s\n") % dest)
+    for npath in sourcerepo.nested:
+        if npath == '.':
+            npath = ''
+        u = util.url(source)
+        if u.scheme:
+            nsource = '%s/%s' % (source, npath)
+        else:
+            nsource = os.path.join(source, npath)
+        ndest = os.path.join(dest, npath)
+        ui.status('[%s]\n' % os.path.normpath(
+            os.path.join(os.path.basename(dest),
+                ndest[len(dest) + 1:])))
+        hg.share(ui, nsource, ndest, not noupdate)
+        ui.status('\n')
+
+
 def nincoming(ui, repo, dest=None, **opts):
     '''show changest not found in repository and all nested repositories
 
@@ -271,7 +298,13 @@ def npush(ui, repo, dest=None, **opts):
         dest, branches = hg.parseurl(dest, opts.get('branch'))
         revs, checkout = hg.addbranchrevs(repo, repo, branches,
                 opts.get('rev'))
-        other = hg.repository(hg.remoteui(repo, opts), dest)
+        if hasattr(hg, 'peer'):
+            other = hg.peer(ui, opts, dest)
+            localother = other.local()
+            if localother:
+                other = localother
+        else:
+            other = hg.repository(hg.remoteui(repo, opts), dest)
         if revs:
             revs = [other.lookup(rev) for rev in revs]
     _nested_apply(ui, repo, test, False, dest=dest, **opts)
@@ -320,6 +353,9 @@ cmdtable = {
     '^nclone': (nclone,
         cmdutil.findcmd('clone', commands.table)[1][1],
         _('[OPTION]... SOURCE [DEST]')),
+    '^nshare': (nshare,
+        [('U', 'noupdate', None, _('do not create a working copy'))],
+        ('[-U] SOURCE [DEST]')),
     'nincoming|nin': (nincoming,
         cmdutil.findcmd('incoming', commands.table)[1][1],
         _('[-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]')),
@@ -339,4 +375,4 @@ cmdtable = {
         cmdutil.findcmd('update', commands.table)[1][1],
         _('[-c] [-C] [-d DATE] [[-r] REV]')),
 }
-commands.norepo += " nclone"
+commands.norepo += " nclone nshare"
diff --git a/setup.py b/setup.py
index ecba910..a7dc1e2 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
-#This file is part of hgnested.  The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of hgnested.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
 
 import os
 from setuptools import setup, find_packages
@@ -10,25 +10,25 @@ def read(fname):
     return open(os.path.join(os.path.dirname(__file__), fname)).read()
 
 setup(name='hgnested',
-        version='0.6',
-        author='B2CK',
-        author_email='info at b2ck.com',
-        url="http://code.google.com/p/hgnested/",
-        description="Mercurial extension to work with nested repositories",
-        long_description=read('README'),
-        download_url="http://code.google.com/p/hgnested/downloads/",
-        packages=find_packages(),
-        classifiers=[
-            'Development Status :: 5 - Production/Stable',
-            'Environment :: Plugins',
-            'Intended Audience :: Developers',
-            'License :: OSI Approved :: GNU General Public License (GPL)',
-            'Operating System :: OS Independent',
-            'Programming Language :: Python',
-            'Topic :: Software Development :: Version Control',
-            ],
-        license='GPL-3',
-        install_requires=[
-            'Mercurial >= 1.9.0',
+    version='0.7',
+    author='B2CK',
+    author_email='info at b2ck.com',
+    url="http://bitbucket.org/cedk/hgnested",
+    description="Mercurial extension to work with nested repositories",
+    long_description=read('README'),
+    download_url="http://bitbucket.org/cedk/hgnested/downloads",
+    packages=find_packages(),
+    classifiers=[
+        'Development Status :: 5 - Production/Stable',
+        'Environment :: Plugins',
+        'Intended Audience :: Developers',
+        'License :: OSI Approved :: GNU General Public License (GPL)',
+        'Operating System :: OS Independent',
+        'Programming Language :: Python',
+        'Topic :: Software Development :: Version Control',
+        ],
+    license='GPL-3',
+    install_requires=[
+        'Mercurial >= 2.9.0',
         ],
     )
diff --git a/test-hgnested b/test-hgnested
deleted file mode 100755
index 87f37d9..0000000
--- a/test-hgnested
+++ /dev/null
@@ -1,97 +0,0 @@
-#! /bin/sh
-
-echo "[extensions]" >> $HGRCPATH
-echo "hgnested=" >> $HGRCPATH
-
-echo "# init repositories"
-hg init toplevel
-echo "f" > toplevel/f
-mkdir -p toplevel/d/d
-echo "d/d/f" > toplevel/d/d/f
-hg init toplevel/d/d/r
-echo "d/d/r/f" > toplevel/d/d/r/f
-hg init toplevel/r
-echo "r/f" > toplevel/r/f
-hg init toplevel/r/r
-echo "r/r/f" > toplevel/r/r/f
-hg init toplevel2
-echo "f" > toplevel2/f
-ln -s ${PWD}/toplevel2 toplevel/r2
-echo "syntax: glob" >>toplevel/.hgignore
-echo "r2" >>toplevel/.hgignore
-
-hg commit --cwd toplevel -A -m "init"
-hg commit --cwd toplevel/d/d/r -A -m "init"
-hg commit --cwd toplevel/r -A -m "init"
-hg commit --cwd toplevel/r/r -A -m "init"
-hg commit --cwd toplevel2 -A -m "init"
-
-echo "# nclone"
-hg nclone toplevel toplevel-clone
-
-echo "# nincoming"
-hg nincoming --cwd toplevel-clone
-
-echo "# npull"
-hg npull --cwd toplevel-clone | sed -e "s,$HGTMP,\$HGTMP/,"
-echo "r/r/f2" > toplevel/r/r/f2
-hg commit --cwd toplevel/r/r -A -m "add f2"
-hg npull --cwd toplevel-clone | sed -e "s,$HGTMP,\$HGTMP/,"
-
-echo "# nupdate"
-hg nupdate --cwd toplevel-clone
-
-echo "# nstatus"
-hg nstatus --cwd toplevel
-echo "f2" > toplevel/f2
-echo "f2" > toplevel/r/f2
-hg add --cwd toplevel/r f2
-rm toplevel/r/r/f2
-hg nstatus --cwd toplevel
-
-echo "# ndiff"
-hg ndiff --cwd toplevel --nodates
-
-echo "# noutgoing"
-echo "f3" > toplevel-clone/f3
-echo "f3" > toplevel-clone/r/r/f3
-echo "f3" > toplevel-clone/d/d/r/f3
-hg commit --cwd toplevel-clone -A -m "add f3"
-hg commit --cwd toplevel-clone/r/r -A -m "add f3"
-hg commit --cwd toplevel-clone/d/d/r -A -m "add f3"
-hg noutgoing --cwd toplevel-clone
-
-echo "# npush"
-hg npush --cwd toplevel-clone | sed -e "s,$HGTMP,\$HGTMP/,"
-
-echo "# nclone ssh"
-cat <<EOF > dummyssh
-import sys
-import os
-
-os.chdir(os.path.dirname(sys.argv[0]))
-if sys.argv[1] != "user at dummy":
-    sys.exit(-1)
-
-if not os.path.exists("dummyssh"):
-    sys.exit(-1)
-
-os.environ["SSH_CLIENT"] = "127.0.0.1 1 2"
-
-log = open("dummylog", "ab")
-log.write("Got arguments")
-for i, arg in enumerate(sys.argv[1:]):
-    log.write(" %d:%s" % (i+1, arg))
-log.write("\n")
-log.close()
-r = os.system(sys.argv[2])
-sys.exit(bool(r))
-EOF
-hg nclone -e "python ./dummyssh" ssh://user@dummy/toplevel toplevel-sshclone
-
-echo "# nclone http"
-echo "[collections]" >> toplevel.conf
-echo "${PWD} = ${PWD}" >> toplevel.conf
-hg serve -p $HGPORT -d --pid-file=hg1.pid --webdir-conf toplevel.conf
-cat hg1.pid >> $DAEMON_PIDS
-hg nclone http://localhost:$HGPORT/toplevel toplevel-httpclone 2>&1 | sed -e "s,:$HGPORT/,:\$HGPORT/,"
diff --git a/test-hgnested.out b/test-hgnested.out
deleted file mode 100644
index 28408d3..0000000
--- a/test-hgnested.out
+++ /dev/null
@@ -1,328 +0,0 @@
-# init repositories
-adding .hgignore
-adding d/d/f
-adding f
-adding f
-adding f
-adding f
-adding f
-# nclone
-[toplevel-clone]
-updating to branch default
-3 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-clone/d/d/r]
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-clone/r]
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-clone/r/r]
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-clone/r2]
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-# nincoming
-[.]
-comparing with $TESTTMP/toplevel
-searching for changes
-no changes found
-
-[d/d/r]
-comparing with $TESTTMP/toplevel/d/d/r
-searching for changes
-no changes found
-
-[r]
-comparing with $TESTTMP/toplevel/r
-searching for changes
-no changes found
-
-[r/r]
-comparing with $TESTTMP/toplevel/r/r
-searching for changes
-no changes found
-
-[r2]
-comparing with $TESTTMP/toplevel/r2
-searching for changes
-no changes found
-
-# npull
-[.]
-pulling from $HGTMP//test-hgnested/toplevel
-searching for changes
-no changes found
-
-[d/d/r]
-pulling from $HGTMP//test-hgnested/toplevel/d/d/r
-searching for changes
-no changes found
-
-[r]
-pulling from $HGTMP//test-hgnested/toplevel/r
-searching for changes
-no changes found
-
-[r/r]
-pulling from $HGTMP//test-hgnested/toplevel/r/r
-searching for changes
-no changes found
-
-[r2]
-pulling from $HGTMP//test-hgnested/toplevel/r2
-searching for changes
-no changes found
-
-adding f2
-[.]
-pulling from $HGTMP//test-hgnested/toplevel
-searching for changes
-no changes found
-
-[d/d/r]
-pulling from $HGTMP//test-hgnested/toplevel/d/d/r
-searching for changes
-no changes found
-
-[r]
-pulling from $HGTMP//test-hgnested/toplevel/r
-searching for changes
-no changes found
-
-[r/r]
-pulling from $HGTMP//test-hgnested/toplevel/r/r
-searching for changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-(run 'hg update' to get a working copy)
-
-[r2]
-pulling from $HGTMP//test-hgnested/toplevel/r2
-searching for changes
-no changes found
-
-# nupdate
-[.]
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[d/d/r]
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[r]
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[r/r]
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[r2]
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-# nstatus
-[.]
-
-[d/d/r]
-
-[r]
-
-[r/r]
-
-[r2]
-
-[.]
-? f2
-
-[d/d/r]
-
-[r]
-A f2
-
-[r/r]
-! f2
-
-[r2]
-
-# ndiff
-diff -r 032a2c66592c r/f2
---- /dev/null
-+++ b/r/f2
-@@ -0,0 +1,1 @@
-+f2
-# noutgoing
-adding f3
-adding f3
-adding f3
-[.]
-comparing with $TESTTMP/toplevel
-searching for changes
-changeset:   1:2e794a5d357a
-tag:         tip
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     add f3
-
-
-[d/d/r]
-comparing with $TESTTMP/toplevel/d/d/r
-searching for changes
-changeset:   1:0dfff144d3ec
-tag:         tip
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     add f3
-
-
-[r]
-comparing with $TESTTMP/toplevel/r
-searching for changes
-no changes found
-
-[r/r]
-comparing with $TESTTMP/toplevel/r/r
-searching for changes
-changeset:   2:f0c515605a0a
-tag:         tip
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     add f3
-
-
-[r2]
-comparing with $TESTTMP/toplevel/r2
-searching for changes
-no changes found
-
-# npush
-[.]
-pushing to $HGTMP//test-hgnested/toplevel
-searching for changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-
-[d/d/r]
-pushing to $HGTMP//test-hgnested/toplevel/d/d/r
-searching for changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-
-[r]
-pushing to $HGTMP//test-hgnested/toplevel/r
-searching for changes
-no changes found
-
-[r/r]
-pushing to $HGTMP//test-hgnested/toplevel/r/r
-searching for changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-
-[r2]
-pushing to $HGTMP//test-hgnested/toplevel/r2
-searching for changes
-no changes found
-
-# nclone ssh
-[toplevel-sshclone]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 4 changes to 4 files
-updating to branch default
-4 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-sshclone/d/d/r]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 2 changes to 2 files
-updating to branch default
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-sshclone/r]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-sshclone/r/r]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 3 files
-updating to branch default
-3 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-sshclone/r2]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-# nclone http
-[toplevel-httpclone]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 4 changes to 4 files
-updating to branch default
-4 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-httpclone/d/d/r]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 2 changesets with 2 changes to 2 files
-updating to branch default
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-httpclone/r]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-httpclone/r/r]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 3 files
-updating to branch default
-3 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-[toplevel-httpclone/r2]
-requesting all changes
-adding changesets
-adding manifests
-adding file changes
-added 1 changesets with 1 changes to 1 files
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-- 
hgnested



More information about the tryton-debian-vcs mailing list