All of lore.kernel.org
 help / color / mirror / Atom feed
* Git SCM API remote
@ 2021-12-15 12:57 Ana Jovanovska
  2021-12-15 15:52 ` Konstantin Khomoutov
  0 siblings, 1 reply; 4+ messages in thread
From: Ana Jovanovska @ 2021-12-15 12:57 UTC (permalink / raw)
  To: git; +Cc: Enrico Benzoni, Michele Zambelli

Hello,

I am developing the integration with Git SCM and I will need your help
on this matter.
This is API remote doc https://www.git-scm.com/docs/api-remote . Can I
have more information on how to use it, do I need some additional
library?

Thank you in advance.

Kind regards,

-- 
Ana Jovanovska

Software Engineer, Engineering

M (389) 75 300-828

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Git SCM API remote
  2021-12-15 12:57 Git SCM API remote Ana Jovanovska
@ 2021-12-15 15:52 ` Konstantin Khomoutov
       [not found]   ` <CA++hZeFiFAuCD=C-2xJJt3yd5guyJrssjtpAmAqYXkMQuRtfpw@mail.gmail.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Konstantin Khomoutov @ 2021-12-15 15:52 UTC (permalink / raw)
  To: Ana Jovanovska; +Cc: git, Enrico Benzoni, Michele Zambelli

On Wed, Dec 15, 2021 at 01:57:42PM +0100, Ana Jovanovska wrote:

> I am developing the integration with Git SCM and I will need your help
> on this matter.
> This is API remote doc https://www.git-scm.com/docs/api-remote .
No, it is not.

Unfortunately, looks like your knowledge about Git itself is a bit lacking
currently as you appear to not be aware of Git's terminology.
I would say, reading a book on Git ([1] is good), and a couple of manuals on
it, possibly starting with [2].

> Can I have more information on how to use it, do I need some additional
> library?

Git itself does not ship anything you could call a library, but it is
comprised from a large number of individual commands (which are what you would
call "command-line commands") which are broadly divided into two categories -
for end users and for use by other commands; these groups are called
"porcelain" and "plumbing". Call out to plumbing-layer commands is the typical
way to automate Git.

If you need to somehow manipulate Git repositores - you did not say anything
about what that "integration" has to be about, - without having Git installed,
you may resort to 3rd-party libraries such as [3]. ISTR it also has wrapping
libraries in several programming languages.

Also note that there exist libraries for various programming languages which
wrap calls to plumbing-layer Git commands, so they sort of implement something
in between a "pure library" which does not call out to Git and calling Git
directly.

1. https://www.git-scm.com/book/en/v2
2. https://www.git-scm.com/docs/git
3. https://libgit2.org/


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Git SCM API remote
       [not found]   ` <CA++hZeFiFAuCD=C-2xJJt3yd5guyJrssjtpAmAqYXkMQuRtfpw@mail.gmail.com>
@ 2022-01-03 14:51     ` Ana Jovanovska
  2022-01-04 16:34       ` Konstantin Khomoutov
  0 siblings, 1 reply; 4+ messages in thread
From: Ana Jovanovska @ 2022-01-03 14:51 UTC (permalink / raw)
  To: Konstantin Khomoutov; +Cc: git, Enrico Benzoni, Michele Zambelli

Hello,

The libgit2, more specifically pygit2 helped me in creating
repositories, branches and getting a list of branches locally.
But with the integration (in Python), would like to connect to git
remote server and to be able to do some of the git commands
(https://www.pygit2.org/index.html) as mentioned.
I looked into Remotes - RemoteCallbacks - credentials(url,
username_from_url, allowed_types)
(https://www.pygit2.org/remotes.html#pygit2.RemoteCallbacks.credentials).

Can we have support on this matter - how can we do it? Also if you are
available for a call, so to better understand, it will be great. Thank
you in advance.

Kind regards,
Ana


On Mon, Jan 3, 2022 at 3:45 PM Ana Jovanovska <ajovanovska@sumologic.com> wrote:
>
> Hello,
>
> The libgit2, more specifically pygit2 helped me in creating repositories, branches and getting a list of branches locally.
> But with the integration (in Python), would like to connect to git remote server and to be able to do some of the git commands (https://www.pygit2.org/index.html) as mentioned.
> I looked into Remotes - RemoteCallbacks - credentials(url, username_from_url, allowed_types) (https://www.pygit2.org/remotes.html#pygit2.RemoteCallbacks.credentials).
>
> Can we have support on this matter - how can we do it? Also if you are available for a call, so to better understand, it will be great. Thank you in advance.
>
> Kind regards,
> Ana
>
>
> On Wed, Dec 15, 2021 at 4:52 PM Konstantin Khomoutov <kostix@bswap.ru> wrote:
>>
>> On Wed, Dec 15, 2021 at 01:57:42PM +0100, Ana Jovanovska wrote:
>>
>> > I am developing the integration with Git SCM and I will need your help
>> > on this matter.
>> > This is API remote doc https://www.git-scm.com/docs/api-remote .
>> No, it is not.
>>
>> Unfortunately, looks like your knowledge about Git itself is a bit lacking
>> currently as you appear to not be aware of Git's terminology.
>> I would say, reading a book on Git ([1] is good), and a couple of manuals on
>> it, possibly starting with [2].
>>
>> > Can I have more information on how to use it, do I need some additional
>> > library?
>>
>> Git itself does not ship anything you could call a library, but it is
>> comprised from a large number of individual commands (which are what you would
>> call "command-line commands") which are broadly divided into two categories -
>> for end users and for use by other commands; these groups are called
>> "porcelain" and "plumbing". Call out to plumbing-layer commands is the typical
>> way to automate Git.
>>
>> If you need to somehow manipulate Git repositores - you did not say anything
>> about what that "integration" has to be about, - without having Git installed,
>> you may resort to 3rd-party libraries such as [3]. ISTR it also has wrapping
>> libraries in several programming languages.
>>
>> Also note that there exist libraries for various programming languages which
>> wrap calls to plumbing-layer Git commands, so they sort of implement something
>> in between a "pure library" which does not call out to Git and calling Git
>> directly.
>>
>> 1. https://www.git-scm.com/book/en/v2
>> 2. https://www.git-scm.com/docs/git
>> 3. https://libgit2.org/
>>
>
>
> --
>
> Ana Jovanovska
>
> Software Engineer, Engineering
>
> M (389) 75 300-828
>
>
>
>
>
>
>


-- 

Ana Jovanovska

Software Engineer, Engineering

M (389) 75 300-828

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Git SCM API remote
  2022-01-03 14:51     ` Ana Jovanovska
@ 2022-01-04 16:34       ` Konstantin Khomoutov
  0 siblings, 0 replies; 4+ messages in thread
From: Konstantin Khomoutov @ 2022-01-04 16:34 UTC (permalink / raw)
  To: Ana Jovanovska
  Cc: Konstantin Khomoutov, git, Enrico Benzoni, Michele Zambelli

Hi, Ana!

(Reformatted; please do not top-post when participating in technical
discussions, use what it called "inline" or "interleaved" style [1].)

On Mon, Jan 03, 2022 at 03:51:10PM +0100, Ana Jovanovska wrote:

[...]
>> Git itself does not ship anything you could call a library, but it is
>> comprised from a large number of individual commands (which are what you would
>> call "command-line commands") which are broadly divided into two categories -
>> for end users and for use by other commands; these groups are called
>> "porcelain" and "plumbing". Call out to plumbing-layer commands is the typical
>> way to automate Git.
[...]
> The libgit2, more specifically pygit2 helped me in creating
> repositories, branches and getting a list of branches locally.
> But with the integration (in Python), would like to connect to git
> remote server and to be able to do some of the git commands
> (https://www.pygit2.org/index.html) as mentioned.
> I looked into Remotes - RemoteCallbacks - credentials(url,
> username_from_url, allowed_types)
> (https://www.pygit2.org/remotes.html#pygit2.RemoteCallbacks.credentials).
> 
> Can we have support on this matter - how can we do it? Also if you are
> available for a call, so to better understand, it will be great. Thank
> you in advance.

I think you may still have certain misunderstanding about what Git is and what
the communication venue we're using for our exchange is about; I'll try to
clear things up.


The first thing worth considering is that both Git and PyGit2 (and libgit2 the
latter uses) - all are independent pieces of what is called "free software" [2].
The fact they are independent means they may have conceptual relation - such
as libgit2 knowing the format of Git repositories and hence being able to
manipulate them or PyGit2 physically calling out into libgit2 to perform its
tasks - but they all are different projects run by different sets of people
having different goals, code repositories, workflows, schedules etc. The only
thing they have in common it that they allow to do something with Git
repositories.

Our discussion is talking place on the mailing list dedicated to the
development of Git itself: bugs in Git are reported here, patch sets
implementing new features or fixing bugs are posted here and are reviewed
here. That is all: both PyGit2 and libgit2 all have their own communication
venues and cannot be sensibly discussed here - if only because the developers
working on those projects may simply not be reading this list because they do
not have to. What follows, is that our discussion is off-topic for this list
and, what is supposedly more important, has low chances of being helpful to
you.


What I recommend is to use watever communication venue the PyGit2 developers
recommend using. From cursory glance over the project's site, I failed to find
a definitive place to ask questions but their project on Github has
"discussions" enabled [3] so you could try to open one.
Another sort-of obvious thing to try is to use the "pygit2" tag on
StackOverflow [4], but please first make sure you have searched for your
problem there using that tag.


As to your particular problem - „to be able to connect to git remote server
and to be able to do some of the git commands” - it begs for clarification:
are you merely after "mundane" Git tasks involving remote repositories - such
as cloning, fetching, pushing, - or are you really after „advanced” stuff such
as executing arbitrary Git commands on a remote server?
If it's about the former, a quick search on the PyGit2 site turns up
"recepies" which should get you started (e.g. [5] covers cloning).
If it's about running arbitrary commands, this is completely another topic
which is may be way harder to grok so I'd not go this route until we know you
really need it.


 1. https://en.wikipedia.org/wiki/Posting_style
 2. https://en.wikipedia.org/wiki/Free_software
 3. https://github.com/libgit2/pygit2/discussions
 4. https://stackoverflow.com/questions/tagged/pygit2
 5. https://www.pygit2.org/recipes/git-clone-ssh.html


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-04 16:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-15 12:57 Git SCM API remote Ana Jovanovska
2021-12-15 15:52 ` Konstantin Khomoutov
     [not found]   ` <CA++hZeFiFAuCD=C-2xJJt3yd5guyJrssjtpAmAqYXkMQuRtfpw@mail.gmail.com>
2022-01-03 14:51     ` Ana Jovanovska
2022-01-04 16:34       ` Konstantin Khomoutov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.