#StackBounty: #authentication #git #jenkins #credentials Jenkins User Credentials Not Showing In Project

Bounty: 50

So I have Jenkins-CI running with the plugins:

  • Credentials
  • Credentials Binding
  • Git

First what I did in order to authenticate Git with the remote repository, is I added credentials to the server to the Global scope with no domain.

However, this allowed any user on my Jenkins server to use those same credentials and thus interact with my Git remote repositories. So I tried instead going to:

Jenkins -> People -> [Username] -> Credentials

I tried both adding:

  • credentials without a domain (“Global (unrestricted)”, but still as my personal credentials instead of server-wide credentials)
  • adding a credential domain, and adding my Git remote username and password that way.

However, then when I go into Jobs -> [Job] -> Configure -> Source Code Management -> Git -> Credentials, it only lists server-wide credentials, and not the ones I registered to my account.

So my question is thus: how do I use credentials that are not usable to the rest of the Jenkins server and use them in a Job’s SCM credentials?


Get this bounty!!!

#StackBounty: #iis #git git deployment running under IIS

Bounty: 100

I have a Bonobo git server installed on a Windows Server 2016.
It is deployed in IIS and accesible on url myserver/git.
Next I want to enaeble automatic deployment.
In the Git Server bare repository folder I find the hooks folder and add a post-receive script:

#!/bin/sh
cd E:/public/root/myFirstRepo
git pull

This works fine when I run it as my personal user. But when its used by IIS after a commit it gives:

git: ‘pull’ is not a git command. See ‘git –help’.

Am I using the correct git?

#!/bin/sh
git --exec-path

Personal user: C:Program FilesGitmingw64/libexec/git-core

IIS user: /libexec/git-core

So lets change the script to use an absolute git path:

#!/bin/sh
cd E:/public/root/myFirstRepo
"C:/Program Files/Git/mingw64/libexec/git-core/git" pull

fatal: Not a git repository: ‘.’

This might be because im already in a git repo, namely the bare server repo and it might confuse git? So lets try to ignore any present enviroment.

#!/bin/sh
cd E:/public/root/myFirstRepo
env -i "C:/Program Files/Git/mingw64/libexec/git-core/git" pull

However this seems to break git bash for windows:

error: cannot spawn sh: No such file or directory

Ok, so lets try and use the git -C flag: explicity saying what folder to operate on.

#!/bin/sh
"C:/Program Files/Git/mingw64/libexec/git-core/git" -C "E:/public/root/myFirstRepo" pull

Still:

fatal: Not a git repository: ‘.’

At this point im out of ideas. My question is basically: How to properly set up a git server post-recieve script in windows enviroment?


Get this bounty!!!

#StackBounty: #git Getting git smudge filter to work in Ubuntu

Bounty: 50

I’m trying to get a git smudge filter to work in ubuntu, as described in this stackoverflow answer: http://stackoverflow.com/questions/2316677/can-git-automatically-switch-between-spaces-and-tabs

The goal is to convert spaces to tabs on checkout.

In my .gitconfig I have this entry:

[filter "tabspace"]
    smudge = unexpand --tabs=4 --first-only
    clean = expand --tabs=4 --initial

As an example, consider the lxqt-panel repository which uses spaces for indentation: https://github.com/lxde/lxqt-panel

In lxqt-panel/.git/info/attributes, I enabled the tabspace filter:

*.cpp   filter=tabspace
*.h     filter=tabspace

According to the Stackoverflow Answer various online sources, running git checkout HEAD -- ** should now convert all spaces to tabs. However, in my case git seems to ignore these settings completely; running unexpand manually works though.

What am I missing here?

I’m using git 2.11.0 on Ubuntu 16.04.


Get this bounty!!!

#StackBounty: #git #shell How to fetch no of commits made by developer for a day in Git repository for a particular branch

Bounty: 50

Im trying to send a report which contains Count of commits done by developers everyday in git repository.

#read all the inputs
read -p "Enter the Branch Name:" branchname
read -p "Enter the from date:" frmdate
read -p "Enter the To date:" todate

#execute the command to get the commit history
git log origin/$branchname --name-status  --pretty=format:"%cn committed %h on %cd full" --after="$frmdate 00:00" --before="$todate 23:59" --decorate |  git shortlog -s -n > history.txt

This script help me to create a file which contains what are the files changed and by whom on a given date. But i need the count of commits made by indvidual devlopers.

I tried with git shortlog -s -n, It gives the overall commit count by developer in all branches.

Need to create a report to get the commit count of each developer in a daily basis


Get this bounty!!!

#StackBounty: #git it fails when git-receive-pack has new line in return

Bounty: 50

I am trying to response to a git-receive-pack request, so if my program return

009c0000000000000000000000000000000000000000 capabilities^{}report-status delete-refs side-band-64k quiet atomic ofs-delta agent=git/2.10.1.(Apple.Git-78)

it works and git clients like smartgit will work as well but when the return value has a new line (n) with 0000 in response just like standard

009c0000000000000000000000000000000000000000 capabilities^{}report-status delete-refs side-band-64k quiet atomic ofs-delta agent=git/2.10.1.(Apple.Git-78)
0000

it does not work and client show me

/test.git/info/refs not valid: is this a git repository

what is the problem? I just do as https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols says.

Thanks in advance


Get this bounty!!!

Apache Ignite: What is Ignite?

Apache Ignite(TM) In-Memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash-based technologies.

apache-ignite

FEATURES

You can view Ignite as a collection of independent, well-integrated, in-memory components geared to improve performance and scalability of your application. Some of these components include:


Apache Ignite APIs

Apache Ignite has a reach set of APIs that are covered throughout the documentation. The APIs are implemented in a form of native libraries for such major languages and technologies as Java, .NET and C++ and by supporting a variety of protocols like REST, Memcached or Redis.

The documentation that is located under this domain is mostly related to Java. Refer to the following documentation sections and domains to learn more about alternative technologies and protocols you can use to connect to and work with an Apache Ignite cluster:

Fork It on GIT

Apache Commons DbUtils Mini Wrapper

This is a very small DB Connector code in Java as a wrapper class to Apache DBUtils.

The Commons DbUtils library is a small set of classes designed to make working with JDBC easier. JDBC resource cleanup code is mundane, error prone work so these classes abstract out all of the cleanup tasks from your code leaving you with what you really wanted to do with JDBC in the first place: query and update data.

Some of the advantages of using DbUtils are:

  • No possibility for resource leaks. Correct JDBC coding isn’t difficult but it is time-consuming and tedious. This often leads to connection leaks that may be difficult to track down.
  • Cleaner, clearer persistence code. The amount of code needed to persist data in a database is drastically reduced. The remaining code clearly expresses your intention without being cluttered with resource cleanup.
  • Automatically populate Java Bean properties from Result Sets. You don’t need to manually copy column values into bean instances by calling setter methods. Each row of the Result Set can be represented by one fully populated bean instance.

DbUtils is designed to be:

  • Small – you should be able to understand the whole package in a short amount of time.
  • Transparent – DbUtils doesn’t do any magic behind the scenes. You give it a query, it executes it and cleans up for you.
  • Fast – You don’t need to create a million temporary objects to work with DbUtils.

DbUtils is not:

  • An Object/Relational bridge – there are plenty of good O/R tools already. DbUtils is for developers looking to use JDBC without all the mundane pieces.
  • A Data Access Object (DAO) framework – DbUtils can be used to build a DAO framework though.
  • An object oriented abstraction of general database objects like a Table, Column, or Primary Key.
  • A heavyweight framework of any kind – the goal here is to be a straightforward and easy to use JDBC helper library.

Wrapper:

HackerRank: Circular Array Rotation

Problem

John Watson performs an operation called a right circular rotation on an array of integers, [a(0),a(1).a(2)...a(n-2),a(n-1)]. After performing one right circular rotation operation, the array is transformed from

[a(0),a(1).a(2)...a(n-2),a(n-1)]

to

[a(n-1),a(0),a(1).a(2)...a(n-2)].

Watson performs this operation k times. To test Sherlock’s ability to identify the current element at a particular position in the rotated array, Watson asks q queries, where each query consists of a single integer, m, for which you must print the element at index in the rotated array (i.e., the value of a(m)).

Input Format

The first line contains space-separated integers, n, k, and q, respectively.
The second line contains space-separated integers, where each integer i describes array element a(i)(where 0 <= i <= n).
Each of the q subsequent lines contains a single integer denoting m.

Constraints

  • 0 <= i <= 10^5
  • 0 <= a(i) <= 10^5
  • 0 <= k <= 10^5
  • 0 <= q <= 500
  • 0 <= m <= N-1

Output Format

For each query, print the value of the element at index m of the rotated array on a new line.

Sample Input
3 2 3
1 2 3
0
1
2
Sample Output
2
3
1

Explanation

After the first rotation, the array becomes [3,1,2].
After the second (and final) rotation, the array becomes [2,3,1].

Let’s refer to the array’s final state as array b. For each query, we just have to print the value of b(m) on a new line:

  • m=0 , so we print 2 on a new line.
  • m=1 , so we print 3 on a new line.
  • m=2 , so we print 1 on a new line.

Soluton

The Fuck

Magnificent app which corrects your previous console command, inspired by a @liamosaur tweet.

Few more examples:

➜ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

➜ fuck
sudo apt-get install vim [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done
...
➜ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master


➜ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...
➜ puthon
No command 'puthon' found, did you mean:
 Command 'python' from package 'python-minimal' (main)
 Command 'python' from package 'python3' (main)
zsh: command not found: puthon

➜ fuck
python [enter/↑/↓/ctrl+c]
Python 3.4.2 (default, Oct  8 2014, 13:08:17)
...
➜ git brnch
git: 'brnch' is not a git command. See 'git --help'.

Did you mean this?
    branch

➜ fuck
git branch [enter/↑/↓/ctrl+c]
* master
➜ lein rpl
'rpl' is not a task. See 'lein help'.

Did you mean this?
         repl

➜ fuck
lein repl [enter/↑/↓/ctrl+c]
nREPL server started on port 54848 on host 127.0.0.1 - nrepl://127.0.0.1:54848
REPL-y 0.3.1
...

Source